Передача аргумента newdata
- это правильный способ сделать это (иначе он будет использовать данные с внутренним масштабированием, как вы видели).Типичный способ - что-то вроде:
newx = seq(min(df$x), max(df$x), len=100)
lines(newx, predict(res, newdata=data.frame(x=newx)), col='blue', lwd=2)
Если это все еще не работает с вашими реальными данными, пожалуйста, уточните ...
Для чего это стоит, я обычно предпочитаю масштабировать вручнуюсначала мои данные, а затем установите scaled=F
.Таким образом, вам не нужно беспокоиться об этом типе вещей, которые могут возникать в разное время.
EDIT : я также должен добавить это, когда вы создаете кадр данных newdata
имена переменных должны соответствовать тому, что вы использовали для создания модели, и не обязательно должны быть "x".