set.seed(1026)
x <- c(seq(1, 2, by = 0.1), seq(10, 11, by = 0.1)) #搞20个数玩
plot(density(x)) #很容易获得密度
abline(v = c(1, 2, 10, 11), col = "blue")
axis(1, at = c(1, 2, 10, 11), c(1, 2, 10, 11))
如果我自己算概率, 1到2之间对应的高度(10到11同理), 都应该是一样且都是 1/length(x) 也就是1/22=0.045, 可如图默认的density()会给我这么突出了一个峰. 所以我这么朴素直觉地认为的,这个density()似乎按着gaussian平滑地给出了分布.
我疑问是:
第一问我破不了. 盼解答~~~
那就来到第二问吧. 看了?density帮助文档之后, 可以調 bw 和 kernel. 我又朴素且直觉地试了几个, 如下:
plot(density(x, bw = "sj"))
abline(v = c(1, 2, 10, 11), col = "blue")
axis(1, at = c(1, 2, 10, 11), c(1, 2, 10, 11))
plot(density(x, bw = "sj", kernel = "rectangular"))
abline(v = c(1, 2, 10, 11), col = "blue")
axis(1, at = c(1, 2, 10, 11), c(1, 2, 10, 11))
不知道, 我这样搞是不是解决了自己的第二问? 盼解答.
p.s. 我怎麼朴素地觉着, 这个density()跟spline()类似呢?