# [R] glht with a glm using a Gamma distribution

jebyrnes jebyrnes at ucdavis.edu
Tue Apr 15 22:50:31 CEST 2008

```To reply, in case anyone reads this, the problem was of course in the setup
of the matrix, and there are two possible solutions.

The first, for a model with only a single set of groupings, is to use mcp.
So, even with this contrast matrix

contra<-rbind("A v. B" = c(-1,1,0,0),
"A v. C" = c(-1,0,1,0),
"A v. D" = c(-1,0,0,1))

The following will produce the desired analysis:

summary(glht(a.glm, linfct=mcp(trt=contra)))

If one wants to use the coefficients, however, one would need something like
as follows
contrb<-rbind("A v. B" = c(0,1,0,0),
"A v. C" = c(0,0,1,0),
"A v. D" = c(0,0,0,1))

Note, that coefficients are important in the case of factorial designs (e.g.
if there was a block and block:trt effect included in the model).  In this
case, one needs to look at the coefficients and setup the appropriate
contrast as on contr.

At least, I think so.  I have not yet found a way to use mcp for factorial
designs.  Does one exist?

-Jarrett

jebyrnes wrote:
>
> Quick question about the usage of glht.  I'm working with a data set
> from an experiment where the response is bounded at 0 whose variance
> increases with the mean, and is continuous.  A Gamma error
> distribution with a log link seemed like the logical choice, and so
> I've modeled it as such.
>
> I'm guessing I'm just using glht improperly, but, any help would be
> appreciated!
>
> trt<-c("d", "b", "c", "a", "a", "d", "b", "c", "c", "d", "b", "a")
> trt<-as.factor(trt)
>
> resp<-c(0.432368576, 0.265148862, 0.140761439, 0.218506998,
> 0.105017007,  0.140137615, 0.205552589, 0.081970097, 0.24352179,
> 0.158875904, 0.150195422, 0.187526698)
>
> #take a gander at the lack of differences
> boxplot(resp ~ trt)
>
> #model it
>
> summary(a.glm)
>
> #set up the contrast matrix
> contra<-rbind("A v. B" = c(-1,1,0,0),
> 			"A v. C" = c(-1,0,1,0),
> 			"A v. D" = c(-1,0,0,1))
> library(multcomp)
> summary(glht(a.glm, linfct=contra))
>   ---
> Yields:
>
> Linear Hypotheses:
>              Estimate Std. Error z value p value
> A v. B == 0   1.9646     0.6201   3.168 0.00314 **
> A v. C == 0   1.6782     0.6201   2.706 0.01545 *
> A v. D == 0   2.1284     0.6201   3.433 0.00137 **
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1