我想将具有唯一标识符的数据框列转换为多行(每个唯一标识符占一行)
示例:
V1 V2 Unique
5 12 1
10 15 1
20 35 1
40 50 2
60 70 2
100 50 2
我需要的是:
row1 5 10 20
row2 40 60 100
基本上我想要一排V1(从左到右排序,从头到尾匹配)当Unique相同时(完全忽略V2)
提前致谢。
答案 0 :(得分:1)
例如,使用unstack
,如果所有组具有相同的长度:
t(unstack(dat[,c('V1','Unique')]))
[,1] [,2] [,3]
X1 5 10 20
X2 40 60 100
如果它们的长度不同,您可以使用split
:
split(dat$V1,dat$Unique)
$`1`
[1] 5 10 20 100
$`2`
[1] 40 60