给你个例子你就明白了:
n <- 100
y <- rnorm(n, 5, 1)
width <- 0.01
scal <- seq(-2, 12, by = 0.01)
ll <- length(scal)
den_y <- density(y, n = ll, from = -2, to = 12) # here defines the range and width
plot(scal, den_y$y, type = "l")
# use numerical integration
# for example, you need pr(a < x < b)
a <- 2
b <- 4
begin <- which.max(den_y$x[den_y$x < a])
end <- which.max(den_y$x[den_y$x < b])
prob <- sum(den_y$y[begin:end]*width)
# confirm
true_prob <- pnorm(4, 5, 1) - pnorm(2, 5, 1) # increase n to 100000, true_prob = prob. In small sample, they are different
|