r - R 不会将列名识别为对象
问题描述
我正在尝试构建残差值的直方图,但是我要做的第一步是运行线性模型。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
This is the error I get after running the last two lines of code:
Error in area_ha$abundance_predicted = predict(linearmodel) : object 'area_ha' not found
解决方案
你的代码:
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
推荐阅读
- android - 如何删除变量的值
- voltdb - 为什么在 VoltDB 中发生网络分区时允许脏读?
- python - 在 R 中重新创建 python 机械化脚本
- reactjs - Enzyme Shallow 没有找到 react-bootstrap 组件
- vue.js - 如何使用现有的vue项目找到github
- scala - 有没有办法重置类中的变量并让函数设置它的值?
- spring - Spring-WS 解密正文部分
- html - 将过滤器添加到另一个 SVG 图像内的 SVG 图像
- css - 悬停上的 CSS 以影响另一个容器中的元素(引导卡)
- javascript - 在 JS 中实现析构函数的最佳方法