我以前使用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'))
谢谢!
答案 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} })。