# [R] linear regression: Is there a way to get the results of lm as variables

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Wed Oct 21 11:28:36 CEST 2009

```On Wed, 21 Oct 2009, CE.KA wrote:

>
> Hi R users
>
> I used R to get the results of a linear regression
>
> reg<-lm(y~x)
>
> here are the results:
>
> # Call:
> # lm(formula = donnees\$txi7098 ~ donnees\$txs7098)
> #
> # Residuals:
> #       Min        1Q    Median        3Q       Max
> # -0.037971 -0.013373 -0.004947  0.010618  0.053235
> #
> # Coefficients:
> #                 Estimate Std. Error t value Pr(>|t|)
> # (Intercept)      0.08547    0.03028   2.822 0.011738 *
> # donnees\$txs7098  0.62306    0.12847   4.850 0.000150 ***
> # ---
> # Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
> #
> # Residual standard error: 0.02199 on 17 degrees of freedom
> # Multiple R-squared: 0.5805,     Adjusted R-squared: 0.5558
> # F-statistic: 23.52 on 1 and 17 DF,  p-value: 0.0001502
>
> I know how to get  the coefficients as variable
> for exemple:
> reg\$coefficients[1]=0.08547 (Estimate )
> reg\$coefficients[2]=0.62306 (Estimate )

The recommended way to extract many quantities from fitted model objects
(including "lm" and "glm" objects but also many others) are extractor
reg\$coefficients
it is preferred to use
coef(reg)

Similarly, there are extractors vcov(), logLik(), residuals(), fitted(),
deviance() etc. summary() computes many statistics as well, in particular,
summary()\$coefficients has the table of coefficients with standard errors,
t statistics etc.

> My question is:
> Is there a way to get the other results of lm as variables?
> -Std. Errors?

Either via
sqrt(diag(vcov(reg)))
or
summary(reg)\$coefficients[,2]

> -t value?
> -Pr(>|t|) ?

Also via summary(reg)\$coefficients[,3] and [,4] respectively.

> -Residual standard error?

summary(reg)\$sigma

> -Multiple R-squared?

summary(reg)\$r.squared

> -F-statistic?

summary(reg)\$fstatistic

hth,
Z

```