John - 2 years ago 175
R Question

# Extract regression coefficient values

I have a regression model for some time series data investigating drug utilisation. The purpose is to fit a spline to a time series and work out 95% CI etc. The model goes as follows:

``````id <- ts(1:length(drug\$Date))
a1 <- ts(drug\$Rate)
a2 <- lag(a1-1)
tg <- ts.union(a1,id,a2)
mg <-lm (a1~a2+bs(id,df=df1),data=tg)
``````

The summary output of
`mg`
is:

``````Call:
lm(formula = a1 ~ a2 + bs(id, df = df1), data = tg)

Residuals:
Min       1Q   Median       3Q      Max
-0.31617 -0.11711 -0.02897  0.12330  0.40442

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)        0.77443    0.09011   8.594 1.10e-11 ***
a2                 0.13270    0.13593   0.976  0.33329
bs(id, df = df1)1 -0.16349    0.23431  -0.698  0.48832
bs(id, df = df1)2  0.63013    0.19362   3.254  0.00196 **
bs(id, df = df1)3  0.33859    0.14399   2.351  0.02238 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
``````

I am using the
`Pr(>|t|)`
value of
`a2`
to test if the data under investigation are autocorrelated.

Is it possible to extract this value of
`Pr(>|t|)`
(in this model 0.33329) and store it in a scalar to perform a logical test?

Alternatively, can it be worked out using another method?

A `summary.lm` object stores these values in a `matrix` called `'coefficients'`. So the value you are after can be accessed with:
``````a2Pval <- summary(mg)\$coefficients[2, 4]
Or, more generally/readably, `coef(summary(mg))["a2","Pr(>|t|)"]`. See here for why this method is preferred.