繁体   English   中英

如何执行线性回归而没有错误?

[英]How can I perform Linear regression without error?

我正在尝试进行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

为了获得最佳帮助,您应该发布一个可复制的示例

您正在使用-生成公式,该公式应为~ 更好的是,@ benbolker建议使用此方便的功能

olsModel <- reformulate(explanatoryVariables, response="y")

它将自动解析字符向量并添加y变量作为响应,因此您不必担心波浪号和粘贴等问题。

通常,如果您对这些事情不满意,我建议您在不进行所有参数化的情况下尝试模型(只需将其键入!),然后看看它是否首先运行。 另外,尝试使用print(olsModel)查看最终粘贴在一起的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM