[R] density estimation: compute sum(value * probability) for
     (Ted Harding) 
    Ted.Harding at nessie.mcc.ac.uk
       
    Sun Nov 14 09:50:53 CET 2004
    
    
  
On 13-Nov-04 bogdan romocea wrote:
> Dear R users,
> 
> However, how do I compute sum(values*probabilities)? The
> probabilities produced by the density function sum to only 26%: 
>> sum(den$y)
> [1] 0.2611142
> 
> Would it perhaps be ok to simply do
>> sum(den$x*den$y) * (1/sum(den$y))
> [1] 1073.22
> ?
What you're missing is the "dx"! A density estimation estimates
the probability density function g(x) such that int[g(x)*dx] = 1,
and R's 'density' function returns estimated values of "g" at a
discrete set of points.
An integral can be approximated by a discrete summation of the
form
    sum(g(x.i)*delta.x
You can recover the set of x-values at which the density is estimated,
and hence the implicit value of delta.x, from the returned density.
Example:
  X<-rnorm(1000)
  f<-density(X)
  x<-f$x
  delta.x<-x[2]-x[1]
  g<-f$y
  sum(g*delta.x)
  [1] 1.000976
Hoping this helps,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861  [NB: New number!]
Date: 14-Nov-04                                       Time: 08:50:53
------------------------------ XFMail ------------------------------
    
    
More information about the R-help
mailing list