Exact kernel density value for any point in R [dup

2019-04-02 05:00发布

问题:

This question already has an answer here:

  • Find the probability density of a new data point using “density” function in R 3 answers
  • Density Value for each Return 3 answers

I was wondering if there is a R base way to obtain the exact kernel density at any point desired? As an example, how can I get the exact kernel density at the 3 following points -2, 0, +2 on X-Axis in a plot like below?

set.seed(2937107)
plot( density(rnorm(1e4)) )

回答1:

Use linear interpolation to find it.

d <- density(rnorm(10000))
approx(d$x, d$y, xout = c(-2, 0, 2))

The precision of interpolation can be higher if you set a larger n in density. By default n = 512 so interpolation is based on 512 points.