基于列分组

时间:2020-05-26 01:08:23

标签: r

我不确定该如何解决。我尝试使用dplyr,转置等进行头脑风暴,但是没有想到解决方案。我以为我会向社区寻求帮助。

DF <- data.frame(ID = c(1, 1, 2, 2, 3, 3), 
                Time = c(0, 1, 0, 1, 0, 1), 
                X = c(1, 2, 3, 4, 5, 6), 
                Y = c(7, 8, 9, 10, 11, 12))

我已经在上面列出了一个样本数据集。因此,尝试是否有可能按两个时间进行分组。例如,将来自此:

ID    Time     X      Y 
1     0        1      7
1     1        2      8
2     0        3      9
2     1        4     10
3     0        5     11
3     1        6     12 

ID    Time_0.X    Time_0.Y   Time_1.X    Time_1.Y     
1            1         7            2          8
2            3         9            4         10                
3            5        11            6         12 

如果有什么想法请告诉我。谢谢!

1 个答案:

答案 0 :(得分:1)

真正简单的枢轴扩展

library(tidyverse)

DF <- data.frame(ID = c(1, 1, 2, 2, 3, 3), 
                 Time = c(0, 1, 0, 1, 0, 1), 
                 X = c(1, 2, 3, 4, 5, 6), 
                 Y = c(7, 8, 9, 10, 11, 12))


DF %>% 
  pivot_wider(names_from = Time,values_from = X:Y)
相关问题