[R] lookup function for density(...) objects

Bob Wheeler bwheeler at echip.com
Sat May 12 14:58:40 CEST 2001


Well if that sort of thing is what is wanted,
using a Johnson or Pearson system fit may also be
useful. Functions for the Johnson system are
available in the package SuppDists.

Ross Ihaka wrote:
> 
> Martin Maechler pointed out to me that you wanted the cumulative
> probabilities.  Here is a quick and dirty solution.
> 
> #  Given a kernel density estimate, this function
> #  carries out a (very quick and dirty) numerical
> #  integration, and then fits a spline to get a function
> #  which can be used to look up cumulative probabilities.
> 
> smoothed.df <-
>   function(d)
>   {
>     F <- cumsum(d$y)
>     F <- F/F[length(F)]
>     splinefun(d$x, F)
>   }
> 
> # Generate a bimodal test distribution
> # Estimate the desnsity and distribution function
> x <- rnorm(1000) + ifelse(runif(1000) > .5, -3, 3)
> d <- density(x)
> F <- smoothed.df(d)   # F returns cumulative probs
> 
> # Plot the true and estimated distribution function
> curve(0.5 * dnorm(x, -3) + 0.5 * dnorm(x, 3), col="red")
> lines(d)
> 
> # Plot the true and estimated distribution function
> F <- smoothed.d
> curve(F(x), add=TRUE)
> 
> --
> Ross Ihaka                         Email:  ihaka at stat.auckland.ac.nz
> Department of Statistics           Phone:  (64-9) 373-7599 x 5054
> University of Auckland             Fax:    (64-9) 373-7018
> Private Bag 92019, Auckland
> New Zealand
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

-- 
Bob Wheeler --- (Reply to: bwheeler at echip.com)
        ECHIP, Inc.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list