我的数据框在第一列有重复的标签,在第二列有所有的观测数据.它就像是由多个堆叠的数据框组成的数据框
大概是这样的:
Labels | Observations |
---|---|
A | x1a |
B | x1b |
C | x1c |
A | x2a |
B | x2b |
C | x2c |
A | x3a |
B | x3b |
C | x3c |
我需要这样的东西
A | B | C |
---|---|---|
x1a | x1b | x1c |
x2a | x2b | x2c |
x3a | x3b | x3c |
我的数据框在第一列有重复的标签,在第二列有所有的观测数据.它就像是由多个堆叠的数据框组成的数据框
大概是这样的:
Labels | Observations |
---|---|
A | x1a |
B | x1b |
C | x1c |
A | x2a |
B | x2b |
C | x2c |
A | x3a |
B | x3b |
C | x3c |
我需要这样的东西
A | B | C |
---|---|---|
x1a | x1b | x1c |
x2a | x2b | x2c |
x3a | x3b | x3c |
您可以在 for each Label
创建unique
标识符后使用tidy::pivot_wider
完成此操作:
library(tidyr)
library(dplyr)
df %>%
mutate(unique = row_number(), .by = Labels) %>%
pivot_wider(names_from = Labels, values_from = Observations) %>% select(-unique)
# A B C
# <chr> <chr> <chr>
# 1 x1a x1b x1c
# 2 x2a x2b x2c
# 3 x3a x3b x3c