2014-02-04 2 views
0

Так что есть данные предсказания от:Не можете рисовать линии прогнозирования

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') 

Но это приводит к слишком высокой линии.

Что мне делать?

+3

Без воспроизводимого примера (не только кода, но и образцов данных) трудно сказать, что здесь происходит не так. Подробнее о том, как это сделать, см. Http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example. –

ответ

-1

Прежде всего вам нужно построить участок. Затем используйте abline.

plot(concentration, signal) 
res <- lm(signal ~ concentration) 
abline(res) 
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"].

Смежные вопросы