x <- c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120)
y <- c(10, 18, 25, 29, 30, 28, 25, 22, 18, 15, 11, 8)
df <- data.frame(x,y)
plot(y ~ x, df)
model <- lm(y ~ x, df)
Вы пытаетесь соответствовать линейной функции для параболических данных. Таким образом, вы не окажетесь в хорошей линии.
Нечто подобное может работать:
model <- lm(y ~ I(x^2), df)
plot(y ~ x, df)
lines(df$x, predict(model), col = 'blue')
Хотя это не очень хорошо подходят, мы могли бы попробовать 3rd- или полиномиальные модели 4-го порядка:
model <- lm(y ~ I(x^3), df)
lines(df$x, predict(model), col = 'red')
model <- lm(y ~ I(x^4), df)
lines(df$x, predict(model), col = 'green')
Хотя это не тоже очень хорошо. Посмотрите на ответ Чжэюань для более подходящей функции.
В любом случае, ОП черчения параболы, эффективно. Жесткий, чтобы получить осмысленную линейную линию, которая наилучшим образом соответствует этому. – blacksite
Справа. Я полагаю, что больше информации требуется от имени ОП, относительно того, какая линия наилучшего соответствия, которую они ищут, должна быть более параболической или относиться к опечатке, о которой вы упомянули ... Это еще предстоит выяснить! – blacksite
Спасибо всем! Я приложил фотографию оригинальной проблемы. Я решил часть a и часть b. Но почему-то я чувствую, что это неправильно, потому что наклон, который я получаю, положительный. –