在点语句中使用预测

时间:2017-03-12 22:52:55

标签: regression points predict

我是R的新手,我在预测和绘制训练线性回归结果中的测试数据集方面遇到了麻烦。

我有一个包含516个观察结果的训练数据集  和一个包含10个观测值的测试数据集

我对训练数据进行了线性回归   train2.lm = lm(CO2~期间+ P2,数据=训练)   摘要(train2.lm)

然后我绘制了测试数据并将颜色变为红色   情节(测试$ CO2~测试$ Period,col =“red”)

现在我想将估计的测试点放在与我的实际测试数据相同的图上,看看我的模型预测实际数据的效果如何。

点(测试$ Period,预测(train2.lm),col =“orange”)

我收到以下错误

xy.coords(x,y)出错:'x'和'y'长度不同

我认为这与我的具有更多价值观的训练数据集有关。我需要使用训练中的回归来预测和绘制测试中的CO2。

1 个答案:

答案 0 :(得分:0)

为了扩展我的评论,这里有一个可以缓解问题的例子。在虹膜数据集上构建线性回归...

# 150 samples in the iris dataset
n = nrow(iris)
train_ind = sample(n,size=50)
# training set is 50 random samples
train = iris[train_ind,]
# testing set is 100 random samples (i.e. n - 50)
test = iris[-train_ind,]

# build a silly model on the training set
train.lm = lm(Sepal.Length ~ Sepal.Width,data=train)
# predict on the training set
pred_train = predict(train.lm)
# 50 predictions
length(pred_train)

# use the fitted model to predict on the testing set
pred = predict(train.lm, newdata=list(Sepal.Width = test$Sepal.Width))
# 100 predictions
length(pred)