本文介绍了如何在dydyverse中转置数据帧?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用基本R,我可以转置一个数据框,例如 mtcars
,它具有相同类的所有列:
Using basic R, I can transpose a dataframe, say mtcars
, which has all columns of the same class:
as.data.frame(t(mtcars))
或使用管道:
library(magrittr)
mtcars %>% t %>% as.data.frame
如何在tidyr或tidyverse包中实现相同的功能?
How to accomplish the same within tidyr or tidyverse packages?
我在下面的尝试给出:
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
替换了点差
:
In the even newer version, pivot_wider
replaces spread
:
mtcars %>%
tibble::rownames_to_column() %>%
pivot_longer(-rowname) %>%
pivot_wider(names_from=rowname, values_from=value)
这篇关于如何在dydyverse中转置数据帧?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!