我的数据是
state prod_year num_oil_wells
AK 2009 10
AK 2008 8
AK 2007 16
AK 2006 17
AK 2005 15
AK 2004 11
AK 2003 9
AK 2002 14...
我希望它采用以下格式;
state 2009 2008 2007
AK 10 8 16
AR a b c (a,b,c the values as per dataset).
答案 0 :(得分:0)
很遗憾,您没有提供任何代码,也没有提供任何其他信息,因此不容易为您提供帮助。但首先,这是一个建议。
根据您提供的错误代码,您的数据似乎有重复的值,或类似的东西。
我建议以下内容,假设D
是data.frame
:
library(data.table)
D=data.table(D)
D=D[,lapply(.SD,sum),by=c('state','prod_year')]
dcast.data.table(D,state~prod_year, value.var='num_oil_wells')
现在,有一种更好的方法可以做到这一点,并且不使用data.table
,但我不记得具体如何使用它(使用dcast
和aggregate
)。但我希望这是一个好的开始。