On Fri, 2010-06-11 at 01:16 -0700, Sandra Hawthorne wrote: > Hi, > > I'm trying to verify the calculation of coefficient of determination (r > squared) for linear regression. I've done the calculation manually with a > simple test case and using the definition of r squared outlined in > summary(lm) help. There seems to be a discrepancy between the what R produced > and the manual calculation. Does anyone know why this is so? What does the > multiple r squared reported in summary(lm) represent? > > # The test case: > x <- c(1,2,3,4) > y <- c(1.6,4.4,5.5,8.3) > dummy <- data.frame(x, y) > fm1 <- lm(y ~ x-1, data = dummy) > summary(fm1) > betax <- fm1$coeff[x] * sd(x) / sd(y) > # cd is coefficient of determination > cd <- betax * cor(y, x) > > Thanks.
Sorry Sandra, But the problem in yours script. Look this x <- c(1,2,3,4) y <- c(1.6,4.4,5.5,8.3) dummy <- data.frame(x, y) fm1 <- lm(y ~ x, data = dummy) summary(fm1) Call: lm(formula = y ~ x, data = dummy) Residuals: 1 2 3 4 -0.17 0.51 -0.51 0.17 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.3500 0.6584 -0.532 0.6481 x 2.1200 0.2404 8.818 0.0126 * --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.5376 on 2 degrees of freedom Multiple R-squared: 0.9749, Adjusted R-squared: 0.9624 F-statistic: 77.76 on 1 and 2 DF, p-value: 0.01262 betax <- fm1$coeff[2] * sd(x) / sd(y) # cd is coefficient of determination cd <- betax * cor(y, x) cd x 0.974924 The formula "fm1$coeff[2] * sd(x) / sd(y)" is valid only the model have a intercept... -- Bernardo Rangel Tura, M.D,MPH,Ph.D National Institute of Cardiology Brazil ______________________________________________ R-help@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.