使用基本的R语言,我可以转置一个数据框,例如mtcars
,该数据框具有相同类别的所有列:
as.data.frame(t(mtcars))
或者使用管道:
library(magrittr)
mtcars %>% t %>% as.data.frame
如何在tidyr或tidyverse包中实现相同的功能?
我尝试了下面的方法,但出现了以下错误:
“错误:行标识符重复”
library(tidyverse)
mtcars %>% gather(var, value, everything()) %>% spread(var, value)
t
有什么问题? - Rolandadd_rownames(mtcars) %>% gather(var, value, -rowname) %>% spread(rowname, value)
的语句。该语句的功能是将mtcars
数据集添加行名,然后将数据从宽格式转换为长格式,最后再将数据从长格式转换回宽格式。 - akrun