【发布时间】:2015-11-25 06:29:06
【问题描述】:
您好,这是我的示例数据。数据代表一个州的收割面积,以英亩为单位。
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
我正在尝试重塑它,以便它记录每个单独的观察结果,并将公顷也包括在内,四舍五入到小数点后 2 位(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(m, Hectares = Acres*2.47) -
融化功能确实有效。我有 3 列。当我使用转换函数时,它在控制台中显示了结果,但是在数据表中,没有添加一个公顷列
-
您需要分配它,即
m <- transform(m, Hectares= Acres/2.47),但更简单的方法是m$Hectares <- m$Acres/2.47 -
天哪,是的,我现在明白了。谢谢,这很有意义!