如何在R中将宽格式 Dataframe 转换为长格式?

k2fxgqgv  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(153)

我正在尝试用一个1000行80列的数据框制作一个箱线图。它现在看起来像这样。enter image description here
现在我想移动每一列来堆叠80个不同的列,但不知道如何做到这一点。我如何分离列和堆叠,使一个宽格式的 Dataframe 长格式的数据?
当前 Dataframe 如下所示:

age1 age 2 age3 
x1   y1    z1 
x2   y2    z2 
x3   y3    z3

预期结果为:

age value
 1   x1
 1   x2
 1   x3
 1   x1
 2   y1
 2   y2
 2   y3
 3   z1
 3   z2
 3   z3
xeufq47z

xeufq47z1#

假设你有一个这样的 Dataframe :

dat <- data.frame(
  age1 = c(1, 2, 3),
  age2 = c(4, 5, 6),
  age3 = c(7, 8, 9)
)

您可以使用'pivot_longger'来获得您想要的结果:

library(tidyverse)
dat <- dat %>% 
  pivot_longer(cols = starts_with("age"),
               names_to = "age",
               names_prefix = "age",
               values_to = "value") %>% 
  arrange(age)

相关问题