R - 无法让 ksmooth 或 KernSmooth 包工作

R - Can't get ksmooth or the KernSmooth package to work

我似乎无法获得 ksmooth 函数或 KernSmooth 包来为我提供以下示例的任何内容:

x <- 1:100
y <- 3*sin(x/10)+rnorm(100)
plot(x,y)

看起来像这样:

ksmooth 函数什么都不做,只是返回相同的分数。使用 KernSmooth 包,我似乎只能得到一个线性近似值。

为什么 ksmooth(x,y,kernel="normal",bandwidth=0.5) 只给我相同的点数?另外我如何使用 KernSmooth 包?谢谢

您选择的带宽 = 0.5 太小。

x <- 1:100
y <- 3*sin(x/10)+rnorm(100)
plot(x,y)
lines(ksmooth(x, y, "normal", bandwidth = 5), col = "red")

library(KernSmooth)
fit <- locpoly(x, y, bandwidth = 5)
lines(fit, col = "blue")