无法绘制预测线

时间:2014-02-04 06:36:27

标签: r

所以我有以下预测数据:

predictedParams <- predict(parameters, 
                           list(independentVar = log(median_income)), 
                           interval='prediction', level=0.95)

predictedParamsDataFrame <-  as.data.frame(predictedParams)

abline(independentVar, predictedParamsDataFrame$upr, lwd=4, col = 'red')

但这不起作用。我也尝试过这样做 -

uprParams <- lm(independentVar ~ predictedParamsDataFrame$upr)
abline(uprParams, lwd=4, col = 'red')

但这导致一条线太高了。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

abline绘制直线,因此除了线性模型的拟合之外,它通常不是您想要绘制的。此外,它接收截距和斜率作为参数,这也不是你在这里所拥有的。

这将为您提供一个包含预测值和间隔的矩阵:

predictedParams <- predict(parameters, 
                           list(independentVar = log(median_income)), 
                           interval='prediction', level=0.95)

现在您只需要绘制independentVar和上/下间隔:

lines(log(median_income), predictedParams[,"upr"], lwd=4, col = 'red')

看到我们使用lines函数。在x轴中,我们使用log(median_income),因为它是给predict的实际数据,而在y轴,我们使用区间predictedParams[,"upr"]的上端。

答案 1 :(得分:-1)

你首先需要绘图。然后使用abline

plot(concentration, signal)
res <- lm(signal ~ concentration)
abline(res)