在tidyr :: gather中使用多个键

时间:2018-01-16 02:02:10

标签: r tidyr reshape2

我以前使用reshape2::melt来执行以下操作,因为我想学习tidyr,我想知道如何在tidyr::gather中完成此操作:

iris %>%
  as_tibble %>%
  mutate(country=rep(LETTERS[1:3],ceiling(n()/3))[1:n()]) %>%
  reshape2::melt(.,id.var=c('country','Species'))

谢谢!

1 个答案:

答案 0 :(得分:3)

尝试

iris %>%
  as_tibble %>%
  mutate(country=rep(LETTERS[1:3],ceiling(n()/3))[1:n()]) %>%
  gather(., key = variable , value = value, -Species,-country)

这将收集所有列,但物种和国家(由减号指定)并调用包含变量名称'variable'(key)和条目'value'的列({{1} })。