On 2010-04-12 3:15, Matthew Carroll wrote:
Dear all,
I am a relative novice with R, so please forgive any terrible errors...

I am working with a GLM that describes a response variable as a function of
a categorical variable with three levels and a continuous variable. These
two predictor variables are believed to interact.
An example of such a model follows at the bottom of this message, but here
is a section of its summary table:

                    Estimate    Std. Error z value Pr(>|z|)
(Intercept)        1.220186     0.539475   2.262   0.0237 *
var1               0.028182     0.050850   0.554   0.5794
cat2               -0.112454  0.781137  -0.144   0.8855
cat3               0.339589   0.672828   0.505   0.6138
var1:cat2          0.007091   0.068072   0.104   0.9170
var1:cat3          -0.027248  0.064468  -0.423   0.6725

I am having trouble interpreting this output.
I think I understand that:

# the 'var1' value refers to the slope of the relationship within the first
factor level

# the 'cat2' and 'cat3' values refer to the difference in intercept from
'cat1'

# the interaction terms describe the difference in slope between the
relationship in 'cat1' and that in 'cat2' and 'cat3' respectively

Therefore, if I wanted a single value to describe the slope in either cat2
or cat3, I would sum the interaction value with that of var1.

However, if I wanted to report a standard error for the slope in 'cat2', how
would I go about doing this? Is the reported standard error that for the
overall slope for that factor level, or is the actual standard error a
function of the standard error of var1 and that of the interaction?


You can relevel your factor variable:

 mod <- glm(resp ~ var1 * relevel(cat, ref=2), family="poisson")

Or, to do this for all levels, you can specify the model as:

 mod <- glm(resp ~ cat/var1 + 0, family="poisson")

which will give the regressions resp ~ var1 within each level of 'cat'.

Or you can calculate the SE from the covariance matrix given
by summary(mod)$cov.unscaled, using the formula for the variance
of a linear combination of random variables.

 -Peter Ehlers

Any help with this would be much appreciated,

Matthew Carroll


### example code

resp<- rpois(30, 5)
cat<- factor(rep(c(1:3), 10))
var1<- rnorm(30, 10, 3)

mod<- glm(resp ~ var1 * cat, family="poisson")
summary(mod)

Call:
glm(formula = resp ~ var1 * cat, family = "poisson")

Deviance Residuals:
      Min        1Q    Median        3Q       Max
-1.80269  -0.54107  -0.06169   0.51819   1.58169

Coefficients:
                    Estimate    Std. Error z value Pr(>|z|)
(Intercept)        1.220186     0.539475   2.262   0.0237 *
var1               0.028182     0.050850   0.554   0.5794
cat2               -0.112454  0.781137  -0.144   0.8855
cat3               0.339589   0.672828   0.505   0.6138
var1:cat2          0.007091   0.068072   0.104   0.9170
var1:cat3          -0.027248  0.064468  -0.423   0.6725
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

     Null deviance: 23.222  on 29  degrees of freedom Residual deviance:
22.192  on 24  degrees of freedom
AIC: 133.75

Number of Fisher Scoring iterations: 5



--
Matthew Carroll
E-mail: mjc...@york.ac.uk

______________________________________________
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.



--
Peter Ehlers
University of Calgary

______________________________________________
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.

Reply via email to