[R] Density estimate with bounds
Duncan Murdoch
murdoch at stats.uwo.ca
Thu Nov 5 12:36:28 CET 2009
On 05/11/2009 4:35 AM, Justine Rochon wrote:
> Dear R users,
>
> I would like to show the estimated density of a (0, 1) uniformly distributed
> random variable. The density curve, however, goes beyond 0 and 1 because of the
> kernel smoothing.
>
> Example:
>
> x = runif(10000)
> plot(density(x))
>
> Is there a way to estimate the density curve strictly within (0, 1) and still
> use some sort of smoothing?
>
> Any help would be greatly appreciated.
One way is to extend the data by reflection on each end. That is,
x <- runif(10000)
ex_x <- c(-x, x, 2-x)
den <- density(ex_x)
plot(den$x, 3*den$y, xlim=c(0,1), type="l")
You need the rescaling to 3*den$y because you've tripled the range.
Duncan Murdoch
More information about the R-help
mailing list