使用基本的 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)
尝试用add_rownames
add_rownames(mtcars) %>%
gather(var, value, -rowname) %>%
spread(rowname, value)
在新版本中,rownames_to_column
取代add_rownames
mtcars %>%
rownames_to_column %>%
gather(var, value, -rowname) %>%
spread(rowname, value)
在更新的版本中,pivot_wider
取代spread
:
mtcars %>%
tibble::rownames_to_column() %>%
pivot_longer(-rowname) %>%
pivot_wider(names_from=rowname, values_from=value)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)