嗨,这是我的样本数据。数据代表州的收获面积(以英亩计)。
State 1974 1978 1982 1987
Alabama 0 0 6 149
Alaska 3 4 39 140
Arizona 700 200 3000 11000
Arkansas 0 10 20 30
State Year Acres Hectares
Alabama 1974 0 0
Alabama 1978 0 0
Alabama 1982 6 2.42
Alabama 1987 149 60.30
我正在尝试重塑形状,以便它记录每个观察值,并将公顷数也列为一列,四舍五入到小数点后两位(1公顷= 2.47英亩)
colnames(x) <- c('state',1974,1978,1982,1987)
library(reshape2)
m <- melt(broccoli,id='state')
colnames(m) <- c('state','year','acres')
这是我运行的R代码,但是使用melt函数没有任何运气。任何帮助表示赞赏!
我们可以transform
创建Hectares
列
transform(m, Hectares = Acres/2.47)
如果我们正在使用 data.table
library(data.table)
melt(setDT(broccoli), id.var='State', variable.name='Year',
value.name='Acres')[, Hectares := Acres/2.47][]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句