我正在尝试建立残值的直方图,但是我要做的第一步是运行线性模型。 R不会将列名识别为对象。
前三行代码运行正常。后两个给我一个错误,说找不到对象area_ha,但是,这是我数据中的八个列标题之一。任何有关创建线性模型和直方图以图形化残差的建议也将非常有帮助。
dat<-read.csv("/Users/sara/Desktop/birdsinforest.csv", header=TRUE)
linearmodel=lm(abundance ~ area_ha, data = dat)
summary(linearmodel)
area_ha$abundance_predicted = predict(linearmodel)
area_ha$residual = area_ha$abundance - area_ha$abundance_predicted
这是运行最后两行代码后出现的错误:
area_ha $ abundance_predicted =预测(linearmodel)中的错误: 找不到对象“ area_ha”
答案 0 :(得分:1)
您的代码:
dat<-read.csv("/Users/sara/Desktop/birdsinforest.csv", header=TRUE)
linearmodel=lm(abundance ~ area_ha, data = dat)
summary(linearmodel)
area_ha$abundance_predicted = predict(linearmodel)
area_ha$residual = area_ha$abundance - area_ha$abundance_predicted
在上面的代码中,area_ha
似乎是变量(列名),而不是data.frame
,因为您正在使用它来拟合线性模型。您应该尝试如下两行代码:
dat$abundance_predicted <- predict(linearmodel)
dat$residual <- dat$abundance - dat$abundance_predicted