r - 如何执行线性回归而不出错?
问题描述
我试图进行 OLS 回归,但我不断收到一条错误消息,指出无法找到某个变量。我是R的新手。
除最后一行外,所有代码都有效。
load("psub.Rdata")
VarsForOLS.tbl <- psub %>%
mutate(personalIncome = PINCP, groupingID = ORIGRANDGROUP, age = AGEP, sex = SEX, workingclass = COW, educationalLevel = SCHL) %>%
select(personalIncome, groupingID, age, sex, workingclass, educationalLevel)
trainingIncome.data <- subset(VarsForOLS.tbl, groupingID >=500)
testingIncome.data <- subset(VarsForOLS.tbl, groupingID < 500)
y <- "log(personalIncome, base=10)"
explanatoryVariables <- c("age", "sex", "workingclass", "educationLevel")
olsModel <- paste(y, paste(explanatoryVariables, collapse = "+"), sep = "-")
trainingIncome.ols <- lm(olsModel, data = trainingIncome.data)
我希望能够运行线性回归,但错误显示:
Error in eval(parse(text = x, keep.source = FALSE)[[1L]]) :
object 'personalIncome' not found
解决方案
为了获得最佳帮助,您应该发布一个可重现的示例。
您正在生成您的公式,-
其中 a 应该是 a ~
。更好的是,@benbolker 建议了这个方便的功能
olsModel <- reformulate(explanatoryVariables, response="y")
它将自动解析字符向量并将y
变量添加为响应,因此您不必担心波浪线和粘贴等。
一般来说,如果你被困在这些事情上,我建议在没有所有参数化的情况下尝试模型(只需输入它!)并查看它是否首先运行。另外,试着print(olsModel)
看看你最终粘贴在一起的东西。
推荐阅读
- python - NumPy/PyTorch 使用来自 argmax 调用的索引数组进行切片
- javascript - Chartjs 隐藏数据集图例 v3
- reactjs - 如何创建可以导出到 NPM 的 React Form Builder?
- html - 将 Live Server 与 VsCode 一起使用,我无法显示本地图像,但在浏览器中正常打开 HTML 文件时可以正常工作
- python - 调用 BLAS/LAPACK 时,f2py 编译的 fortran 会杀死 python 内核
- python - Kivy JSON 存储数据操作 - 递归操作
- mysql - 安装 WARNING Illegal string offset 后无法访问我的 mysql 表
- javascript - React htmlFor - 单击标签焦点在错误的输入上
- python - 尝试将 txt 文件转换为适合文件的问题
- html - 如何在文章元素中获取h3下的段落标签?