R predict() 要求在 lm() 回归模型中排除变量
R predict() asking for variable excluded in lm() regression model
我打算应用基于两个“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)
我在尝试使用预测功能时遇到问题。它需要有关“名称”变量的信息:
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() 函数中解决这个问题?
我们可以使用update
> regression <- update(regression, . ~ .)
> predict(object = regression,
+ data.frame(age = 22, workhours = 36))
1
1714.859
我打算应用基于两个“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)
我在尝试使用预测功能时遇到问题。它需要有关“名称”变量的信息:
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() 函数中解决这个问题?
我们可以使用update
> regression <- update(regression, . ~ .)
> predict(object = regression,
+ data.frame(age = 22, workhours = 36))
1
1714.859