R - dcast 或转置

R - dcast or transpose

我正在尝试获取以下小数据样本:

IndID  J2015  E2015  Area
1      10     5      DC
2      15     7      DC
3      20     10     DC

然后用reshapereshape2转换成如下格式:

Area  1_J2015  1_E2015  2_J2015  2_E2015  3_J2015  3_E2015
DC    10       5        15       7        20       10

我将对几百万行数据执行此操作,但是我无法找出执行此操作的正确公式,部分我认为这需要分两步或更多步骤完成。

我尝试了 reshape 包中 dcast 函数的各种格式:

df <- dcast(AreaID + J2015 + E2015 ~ IndID, data = data)

提前谢谢你。

先熔化,然后再铸成这样:

library(reshape2)

m <- melt(data, id.var = c("IndID", "Area"))
dcast(m, Area ~ IndID + variable)

给予:

  Area 1_J2015 1_E2015 2_J2015 2_E2015 3_J2015 3_E2015
1   DC      10       5      15       7      20      10

或组合成一个命令:

recast(data, Area ~ IndID + variable, id.var = c("IndID", "Area"))