gpt4 book ai didi

r - 如何在 tidyverse 中转置数据框?

转载 作者:行者123 更新时间:2023-12-03 04:57:00 28 4
gpt4 key购买 nike

使用基本的 R,我可以转置一个数据帧,例如 mtcars,它具有同一类的所有列:

as.data.frame(t(mtcars))

或者使用管道:

library(magrittr)
mtcars %>% t %>% as.data.frame

如何在 tidyr 或 tidyverse 包中完成相同的任务?

我在下面的尝试给出了:

Error: Duplicate identifiers for rows

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)

关于r - 如何在 tidyverse 中转置数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40306280/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com