R Predict() 要求排除在 lm() 回归模型中的变量

标签 r lm predict

我打算应用基于两个“x”变量的回归,排除数据框中存在的其他变量。

举个例子:

df <- data.frame(name = c("Paul", "Charles", "Edward", "Iam"),
             age = c(18, 20, 25, 30),
             income = c( 1000, 2000, 2500, 3000),
             workhours = c(35, 40, 45, 40))

regression <- lm(income ~ . -name, data = df)

当我尝试使用预测函数时遇到问题。它需要有关“name”变量的信息:

predict(object = regression,
    data.frame(age = 22, workhours = 36))

它给出以下消息错误:

Error in eval(predvars, data, env) : object 'name' not found

我通过从 lm() 函数中排除“name”变量来解决了这个问题:

regression2 <- lm(income ~ . , data = df[, -1])
predict(object = regression2,
    data.frame(age = 22, workhours = 36))

由于我有许多变量,我打算从回归中排除,有没有办法在 de Predict() 函数中解决这个问题?

最佳答案

我们可以使用更新

> regression <- update(regression, . ~ .)
> predict(object = regression,
+     data.frame(age = 22, workhours = 36))
       1 
1714.859 

关于R Predict() 要求排除在 lm() 回归模型中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68715342/

相关文章:

r - 使用 glmnet 和 lm 的普通最小二乘法

r - 拆分因数、sapply 和 lm

r - 使用 bs() 函数进行样条时如何解释 lm() 系数估计

使用 lm() 和 predict() 进行滚动回归和预测

仅根据前一行删除重复行

R 双循环

r - 如何从 R 文本中提取 ngram(报纸文章)

r - 向量与顺序的可能组合

r - 如何预测R中具有随机效应的gam模型?

r - 使用 predict() 函数时出错