у меня есть data.frame следующей структуры:распространенных значений через неопределенные столбцы
value group1 group2
1: 1 A a1
2: 2 A a2
3: 3 A a3
4: 4 B b1
5: 5 B b2
Я хотел бы, чтобы распространить его на это:
group1 var1 var2 var3 value1 value2 value3
1: A a1 a2 a3 1 2 3
2: B b1 c2 NA 4 5 NA
Поэтому в основном существует неопределенное число из varX
столбцов на основе количества уникальных group2
в каждом group1
, а затем сопровождающего столбца valueX
.
Есть ли хороший способ достичь этого? spread
от tidyr не совсем делает то, что я хочу, насколько я понимаю. Благодаря!
...
Здесь вы можете построить первый data.frame:
data.frame(value=1:5, group1=c("A","A","A","B","B"), group2=c("a1","a2","a3","b1","b2"))
является то, что github версия данных.table? – moman822
@ moman822 Да, если у вас есть 1.9.6, создайте переменную группировки, то есть 'dcast (setDT (df1) [,, rn: = 1: .N <, by = group1], group1 ~ rn, value.var = c ("value", "group2")) ' – akrun
есть ли дополнительная запятая в первой скобке? – moman822