RandomForest返回了对象prd,它是具有索引的类numeric:
> prd
298 252 373 117 0 16 442 74
4397.9232 1826.1264 1787.1963 1388.8097 1075.7217 873.9856 1602.7068 1775.1237
class(prd)
[1] "numeric"
我想进行相关性测试,这意味着以相同的格式获取obs。目前,obs是一列数据框:
> obs
e2004MeanY
298 4261
252 1821
373 1710
117 1138
如何将obs转换为正确的格式?我无法弄清楚如何将索引与数值中的值联系起来。
答案 0 :(得分:2)
您可以使用[
对数据框进行子集化,因为默认值为drop = TRUE
将删除空维度,从而从1列数据帧转移到数字向量。 E.g。
R> obs <- data.frame(e2004MeanY = c(4261,1821,1712,1138))
R> rownames(obs) <- c(268,252,373,117)
R>
R> (obs1 <- obs[, 1]) ## equiv of: obs[, 1, drop = TRUE]
[1] 4261 1821 1712 1138
R> class(obs1)
[1] "numeric"
如果丢失行名称是一个问题,那么将它们添加回向量的names
:
R> names(obs1) <- rownames(obs)
R> obs1
268 252 373 117
4261 1821 1712 1138
当然,如果您在致电cor()
时使用临时对象,这不是问题,例如:
cor(prd, obs[, 1])