[R] Antw: Re: Density estimate with bounds
Justine Rochon
Justine.Rochon at klinik.uni-regensburg.de
Thu Nov 5 14:36:44 CET 2009
Hi Duncan,
Thank you for your e-mail.
It works for the uniform distribution, but I have trouble with the exponential
distribution:
x <- rexp(10000)
ex_x <- c(-x, x)
den <- density(ex_x)
plot(den$x, 2*den$y, xlim=c(0,5), type="l")
Best regards,
Justine
________________________
Justine Rochon
- Biostatistician -
Center for Clinical Studies
University Hospital Regensburg
Franz-Josef-Strauß-Allee 11
D-93053 Regensburg
Phone: ++49-(0)941-944-5626
Fax: ++49-(0)941-944-5632
Email: justine.rochon at klinik.uni-regensburg.de
>>> Duncan Murdoch <murdoch at stats.uwo.ca> 05.11.2009 12:36 >>>
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