无法在 R 中绘制平滑样条曲线

Can't plot smooth spline in 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。如果您这样做 smooth.spline(x, y),请使用 plot(x, y) 而不是 plot(y, x) 绘制您的数据。

数字 2. 不要传入 data.train 进行拟合,然后传入不同的数据集 data 进行绘图。如果您想查看样条曲线在新数据点处的样子,请先使用 predict.smooth.spline。参见 ?predict.smooth.spline