Я хотел бы приводить данные от длинных к широким, но показывать переменные в виде строк, а не столбцов
Набор данных:
df1 <- data.frame(Area = c('a', 'a', 'b', 'b', 'c', 'c'),
Period =c(1,2,1,2,1,2),
var1 = c(1,2,3,4,5,6),
var2 = c(7,8,9,10,11,12),
var3 = c(13,14,15,16,17,18)
)
Area Period var1 var2 var3
1 a 1 1 7 13
2 a 2 2 8 14
3 b 1 3 9 15
4 b 2 4 10 16
5 c 1 5 11 17
6 c 2 6 12 18
И я хотел бы получить:
Period
Area 1 2
a Var1
a Var2
a Var3
b Var1
b Var2
b Var3
Я пробовал с dcast и мне удалось получить:
df1 = dcast(setDT(df1), Area ~ Period ,sum, value.var=c("var1", "var2", "var3"))
Area var1_1 var1_2 var2_1 var2_2 var3_1 var3_2
1 a 1 2 7 8 13 14
2 b 3 4 9 10 15 16
3 c 5 6 11 12 17 18
.. но это не совсем то, что я хочу. Любая помощь будет высоко ценится!