[R] Cook's distance

John Fox jfox at mcmaster.ca
Tue Mar 12 21:40:14 CET 2013


Dear Koilos,

You've neglected to correct the MSE for df. Modifying your example, so that
it actually runs (your original regression doesn't work -- the lengths of x
and y differ):

> y <- (1:100)^2
> x <- 1:100
> lm(y~x) -> linmod # just for the sake of a simple example
>
linmod$residuals[1]^2/(2*sum(linmod$residuals^2)/98)*(hatvalues(linmod)[1]/(
1-hatvalues(linmod)[1])^2)
         1 
0.09853436 
> cooks.distance(linmod)[1]
         1 
0.09853436

I hope this helps,
 John

-----------------------------------------------
John Fox
Senator McMaster Professor of Social Statistics
Department of Sociology
McMaster University
Hamilton, Ontario, Canada





> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of kolos.agoston at gmx.net
> Sent: Tuesday, March 12, 2013 3:55 PM
> To: r-help at r-project.org
> Subject: [R] Cook's distance
> 
> Dear useRs,
> 
> I have some trouble with the calculation of Cook's distance in R.
> The formula for Cook's distance can be found for example here:
> http://en.wikipedia.org/wiki/Cook%27s_distance
> 
> I tried to apply it in R:
> 
> > y <- (1:400)^2
> > x <- 1:100
> > lm(y~x) -> linmod # just for the sake of a simple example
> >
> linmod$residuals[1]^2/(2*mean(linmod$residuals^2))*(hatvalues(linmod)[1
> ]/(1-hatvalues(linmod)[1])^2)
>          1
> 0.02503195
> > cooks.distance(linmod)[1]
>          1
> 0.02490679
> 
> Why differ the two results?
> 
> Thanks a lot if somebody have some instructions for me.
> 
> Best wishes:
> 
> Kolos
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list