为什么我无法在R的线性模型中预测新的观测值

时间:2018-06-28 16:47:03

标签: r

在坚持得到答复之前,请先阅读此内容。我已经审查了类似的问题,但无济于事。我的目标很简单,就是建立一个简单的线性模型并预测新值。这是我的代码:

a <- c(9024492, 8379054, 8962608, 9095940, 8468694, 9215560, 9082280)

b <- c(3747494, 3258151, 3795750, 2976020, 3185280, 3955260, 3837480)

model_data <- data.frame(A = a, B = b)

model <- lm(formula = A ~ B, data = model_data)

new_points <- c(3500000, 3600000, 3700000)
new_points <- data.frame(B = new_points)

predict(model, new_data = new_points)

这是意外的输出:

> predict(model, new_data = new_points)
      1       2       3       4       5       6       7 
8988178 8760036 9010676 8628501 8726062 9085043 9030131 

1 个答案:

答案 0 :(得分:1)

您必须使用正确的变量,即newdata而不是new_data

> predict(model, newdata = new_points)
      1       2       3 
8872791 8919413 8966035 

有关更多信息,请参见?predict.lm