我打算应用基于两个“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/