[R] Calculating sum of squares from density estimates

Rainer M Krug r.m.krug at gmail.com
Fri Jan 25 08:54:41 CET 2008


David Winsemius wrote:
> 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=?

Thanks - that's what I am doing right now and it is working


> 
>> ?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
> 
>



More information about the R-help mailing list