无法在 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
。
我正在尝试在我的数据集上使用平滑样条。我使用 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
。