无法在R中绘制平滑样条

时间:2019-03-21 08:15:09

标签: r plot spline

我正在尝试在数据集中使用平滑样条。我使用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)

我得到的是:

enter image description here

有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:1)

两个问题:

数字1。如果执行smooth.spline(x, y),则用plot(x, y)而不是plot(y, x)绘制数据。

数字2。请勿传递data.train进行拟合,然后传递另一个数据集data进行绘制。如果要查看样条曲线在新数据点的外观,请首先使用predict.smooth.spline。参见?predict.smooth.spline