Не удается построить гладкий сплайн в R

#r

#r #построить #сплайн

Вопрос:

Я пытаюсь использовать сглаживающий сплайн в своем наборе данных. Я использую функцию smooth.spline. И хочу построить свою подгонку следующим. Однако по какой-то причине он не будет отображать мою модель. Он даже не выдает никакой ошибки. Я получаю сообщение об ошибке только после запуска функции smooth.spline, что «перекрестная проверка с неуникальными значениями ‘x’ кажется сомнительной». Но я не думаю, что это не должно иметь слишком большого значения для практического результата.

Мой код таков:

 library('splines')


fit_spline <- smooth.spline(data.train$age,data.train$effect,cv = TRUE)


plot(data$effect,data$age,col="grey")
lines(fit_spline,lwd=2,col="purple")



legend("topright",("Smoothing Splines with 5.048163 df selected by CV"),col="purple",lwd=2)
 

Что я получаю, так это:

введите описание изображения здесь

Может кто-нибудь сказать мне, что я здесь делаю не так?

Ответ №1:

Две проблемы:

Номер 1. Если вы это сделаете smooth.spline(x, y) , постройте график своих данных с plot(x, y) помощью not plot(y, x) .

Номер 2. Не передавайте data.train для подгонки затем другой набор data данных для построения графика. Если вы хотите увидеть, как выглядит сплайн в новых точках данных, используйте predict.smooth.spline first . Видишь ?predict.smooth.spline .