为什么R中的ksmooth生成了NA?

为什么R中的ksmooth生成了NA?

set.seed(1)
x <- sort(rnorm(1000,2))
e <- rnorm(1000)
y <- x + e
ks <- ksmooth(x,y,kernel='normal')
ks$y[c(944,945)]
[1] NA NA
ykwdcy 回答:为什么R中的ksmooth生成了NA?

因为默认带宽为0.5,并且这两个点出现在x值大于其他值的0.5处。我相信它们都出现在6.8左右。

plot(x,y)
lines(ks,col = "blue")

enter image description here

如果增加带宽,则应删除NA

,

由于@joran,我才发现问题所在。

> min(abs(x - ks$x[944]))
[1] 0.7446518
> min(abs(x - ks$x[945]))
[1] 0.7507665

我们可以看到最近的点比默认带宽0.5还要远。

本文链接:https://www.f2er.com/3142893.html

大家都在问