对不起,如果这个问题是微不足道的,但我试图弄清楚如何在 R 中绘制某种类型的自然三次样条(NCS)并且它完全让我无法理解。
在上一个问题中,我学习了如何在 ggplot 中绘制由 ns() 命令生成的 NCS,但我对如何绘制稍微不同的 NCS 感兴趣,这些 NCS 在pspline包中生成了 smooth.Pspline 命令。据我所知,这是唯一一个通过 CV 为给定数据集自动选择适当平滑惩罚的包。
理想情况下,我将能够提供 smooth.Pspline 作为 ggplot2 中 stat_smooth 层的方法。我目前的代码是这样的:
plot <- ggplot(data_plot, aes(x=age, y=wOBA, color=playerID, group=playerID))
plot <- plot + stat_smooth(method = lm, formula = y~ns(x,4),se=FALSE)
我想用 smooth.Pspline 的功能替换“lm”公式。我做了一点谷歌搜索,找到了一个非常相似的 B 样条函数 smooth.spline 的解决方案,由 Hadley 编写。但我一直无法将其完美地调整为 smooth.Pspline。这个事情谁有经验?
非常感谢!