Добавить квадратичную кривую
Я пытаюсь добавить квадратную кривую к сюжету.
abline(lm(data~factor+I(factor^2)))
Отображаемая регрессия является линейной, а не квадратичной, и я получаю это сообщение:
Message d'avis: В abline (lm (коэффициент данных + я (коэффициент ^ 2)), col = палитра [итерация]): использование des deux premiers des 3 коэффициенты дегрессии
что означает:
Использование первых 2 из 3 коэффициентов регрессии
При запуске только функции lm()
я не получаю никаких сообщений.
Вот пример данных:
factor <- 1:7
data <- c(0.1375000,0.2500000,0.3416667,0.4583333,0.7250000,0.9166667,1.0000000)
Ответы
Ответ 1
Вместо abline
используйте fitted
, который дает вам вектор той же длины, что и ваш ввод прогнозов:
fitted(lm(data~factor+I(factor^2)))
# 1 2 3 4 5 6 7
# 0.1248016 0.2395833 0.3699405 0.5158730 0.6773810 0.8544643 1.0471230
Таким образом, что-то вроде:
plot(factor, fitted(lm(data~factor+I(factor^2))), type="l")
Ответ 2
Вы можете использовать predict
для этого:
plot(factor,data)
lines(predict(lm(data~factor+I(factor^2))))
![enter image description here]()
Ответ 3
До сих пор я не мог получить ответы, чтобы работать, так как у набора данных, который я использовал, есть значения x, которые не увеличиваются (как заявлено Дэвидом Робинсоном выше). Вот как я это решил...
require(ISLR)
plot(mpg~horsepower, data=Auto)
# fit the model
glm.fit = glm(mpg~poly(horsepower,2), data=Auto)
# create 100 x-values based on min/max of plotted values
minMax = range(Auto$horsepower)
xVals = seq(minMax[1], minMax[2], len = 100)
# Use predict based on a dataframe containing 'horsepower'
yVals = predict(glm.fit, newdata = data.frame(horsepower = xVals))
lines(xVals, yVals)
Ответ 4
спасибо за все эти ценные ответы. Будь осторожен:
использование
Используйте прогнозирование на основе информационного кадра, содержащего "лошадиные силы"
yVals = predict(glm.fit, newdata = data.frame(horsepower=xVals)
Используйте прогнозирование на основе информационного кадра, содержащего "лошадиные силы"
yVals = predict(lm.fit, newdata = data.frame(horsepower=xVals)
lm.fit
- это функция