我在reshape()
函数方面遇到一些问题。重塑后,它会将所有变量名称更改为“ value.var 1”。
我用来重塑的代码是:
test<- reshape(cdc_city, idvar= "site", timevar="variable",
direction="wide", new.row.names=FALSE)
我猜我使用的“ new.row.names = FALSE”部分错误。我试图用FALSE代替NULL,但这也没有用。
我的目标是按以下方式转换数据集:
site variable value
site 1 var 1 4
site 1 var 2 7
site 1 var 3 2
site 1 var 4 6
site 1 var 5 3
site 2 var 1 89
site 2 var 2 43
site 2 var 3 12
site 2 var 4 54
site 2 var 5 23
site 3 var 1 76
site 3 var 2 62
site 3 var 3 13
site 3 var 4 43
site 3 var 5 23
变成这样的数据集:
site var 1 var 2 var 3 var 4 var 5
1 4 7 2 6 3
2 89 43 12 54 23
3 76 62 13 43 23
如果有人知道如何摆脱“价值”。出现在我的变量名的开头,那太好了!或者,如果有更好的代码可以使用,我也很乐意。
谢谢,
提摩太
最佳答案
我建议您改用reshape2
包-使用melt
和dcast
比内置的reshape()
容易得多:
library(reshape2)
dcast(cdc_city, site~variable, mean)
site var 1 var 2 var 3 var 4 var 5
1 site 1 4 7 2 6 3
2 site 2 89 43 12 54 23
3 site 3 76 62 13 43 23
关于r - 如何防止reshape()更改变量名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11936535/