[R] Extract statistics from lm()

Tobias Verbeke tobias.verbeke at openanalytics.be
Sat Feb 28 20:31:05 CET 2009


Hi,

> Hi, perhaps this question was answered previously however I could not find
> them. My problem is how how to extract a particular statistic from the
> result given by lm(). For e.g.
> 
> ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
> trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
> group <- gl(2,10,20, labels=c("Ctl","Trt"))
> weight <- c(ctl, trt)
>> summary(lm.D9 <- lm(weight ~ group))
> 
> Call:
> lm(formula = weight ~ group)
> 
> Residuals:
>     Min      1Q  Median      3Q     Max 
> -1.0710 -0.4938  0.0685  0.2462  1.3690 
> 
> Coefficients:
>             Estimate Std. Error t value Pr(>|t|)    
> (Intercept)   5.0320     0.2202  22.850 9.55e-15 ***
> groupTrt     -0.3710     0.3114  -1.191    0.249    
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
> 
> Residual standard error: 0.6964 on 18 degrees of freedom
> Multiple R-squared: 0.07308,    Adjusted R-squared: 0.02158 
> F-statistic: 1.419 on 1 and 18 DF,  p-value: 0.249 
> 
> 
> Here I want to extract the values of "t-stat", "Pr(>|t|)" individually. Can
> anyone please guide me how to get them?

summaryD9 <- summary(lm.D9 <- lm(weight ~ group))
(coefD9 <- coef(summaryD9))
coefD9[, "t value"]
coefD9[, "Pr(>|t|)"]

In order to get an overview of the structure of an object
you can use the str function as in:

str(summaryD9)

HTH,
Tobias




More information about the R-help mailing list