У меня были проблемы с построением линий с моей нелинейной регрессией, потому что длины переменных построения были разными, потому что регрессия не учитывала некоторые наблюдения. Я исправил это, используя na.action = na.exclude. Теперь предупреждение «длины различны» больше не отображается, но линии () просто не показывают мое нелинейное предсказание.
Извините, если это нечетко, но я действительно не знаю, что происходит, потому что нет сообщения об ошибке.
Вот код, который я использую:
data_lm <- read.csv('notaport.csv', sep=';', dec=',')
regs <- lm(notaport ~ tamturma, data=data_lm)
regm <- lm(notaport ~ tamturma + I(tamturma**2), data=data_lm, na.action = na.exclude)
plot(data_lm$tamturma, data_lm$notaport, xlab='Tamanho da Turma', ylab = 'Notas de Português', pch='.')
abline(regs, col='red')
linearpred_regm <- predict(regm)
plot(data_lm$tamturma, data_lm$notaport, xlab='Tamanho da Turma', ylab = 'Notas de Português', pch='.')
lines(linearpred_regm, data_lm$tamturma, col='red')
summary(data_lm)
summary(regs)
summary(regm)
Мои данные можно загрузить по этой ссылке в разделе We Transfer.