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

问题描述 投票:0回答:1

我试图在我的数据集上使用平滑样条曲线。我使用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

谁能告诉我这里做错了什么?

r plot spline
1个回答
1
投票

两个问题:

数字1.如果你做smooth.spline(x, y),用plot(x, y)而不是plot(y, x)绘制你的数据。

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

© www.soinside.com 2019 - 2024. All rights reserved.