# [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,

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

```