在坚持得到答复之前,请先阅读此内容。我已经审查了类似的问题,但无济于事。我的目标很简单,就是建立一个简单的线性模型并预测新值。这是我的代码:
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
答案 0 :(得分:1)
您必须使用正确的变量,即newdata
而不是new_data
:
> predict(model, newdata = new_points)
1 2 3
8872791 8919413 8966035
有关更多信息,请参见?predict.lm
。