我想重塑一个data.frame看起来像这样的:
     permno         dte ttm var1 var2 var3
1    123  2012-01-01  20    1   10  100
2    123  2012-01-01  30   -1   10  100
3    124  2012-01-01  20    2   20  200
4    124  2012-01-01  30   -2   20  200
我想让我data.frame的样子如下:
  permno         dte var1_20 var1_30 var2 var3
1    123  2012-01-01       1      -1   10  100
2    124  2012-01-01       2      -2   20  200
我一直在尝试使用reshape2package 来做到这一点,但我无法与var1其他人隔离开来并继续获得结果var2_20,var2_30例如结果。有谁知道如何使用reshape2包做到这一点?
数据帧输入:
> dput(DF)
structure(list(permno = c(123L, 123L, 124L, 124L), dte = structure(c(1L, 
1L, 1L, 1L), .Label = " 2012-01-01", class = "factor"), ttm = c(20L, 
30L, 20L, 30L), var1 = c(1L, -1L, 2L, -2L), var2 = c(10L, 10L, 
20L, 20L), var3 = c(100L, 100L, 200L, 200L)), .Names = c("permno", 
"dte", "ttm", "var1", "var2", "var3"), class = "data.frame", row.names = c(NA, 
-4L))
> dput(result)
structure(list(permno = 123:124, dte = structure(c(1L, 1L), .Label = " 2012-01-01", class = "factor"), 
    var1_20 = 1:2, var1_30 = c(-1L, -2L), var2 = c(10L, 20L), 
    var3 = c(100L, 200L)), .Names = c("permno", "dte", "var1_20", 
"var1_30", "var2", "var3"), class = "data.frame", row.names = c(NA, 
-2L))