[R] Calculating sum of squares from density estimates

David Winsemius dwinsemius at comcast.net
Thu Jan 24 16:24:11 CET 2008


Rainer M Krug <r.m.krug at gmail.com> wrote in
news:4798991D.3000607 at gmail.com: 

> Hi
> 
> I have some density estimates obtained from density(). I would like
> to calculate the sum of squares of these. As the x values of the
> estimates are not the same, and I would prefer not to restrict the
> estiomate to a certain range of x values, how can I do the
> calculation? 
> 
> Lets say:
> 
> d1 <- density(Data1)
> d2 <- density(Data2)
> 
> If the x values would be the same, I would:
> 
> ssq <- sum( (d1$y - d2$y)^2 )
> 
> but as it isn't, I can't do that.
> 
> is there an easy way to get the sum of squares?

Presumably there is a common domain for these densities. Consider 
forcing the x values to be the same by identically specifying n=, 
from=, and to=?

> ?density
> x <- rnorm(200,1,1)
> x2 <- rnorm(200,1,1)
> d1 <- density(x, n=512, from=-1, to= 4)
> d2 <- density(x2, n=512, from=-1, to= 4)
> ssq <- sum( (d1$y - d2$y)^2 )
> ssq
[1] 0.4722924

> x <- rnorm(200,1,1)
> x2 <- rnorm(200,1.5,1)
> d1 <- density(x, n=512, from=-1, to= 4)
> d2 <- density(x2, n=512, from=-1, to= 4)
> ssq <- sum( (d1$y - d2$y)^2 )
> ssq
[1] 2.111498


-- 
David Winsemius



More information about the R-help mailing list