[R] glht: Problem with symbolic contrast for factors with number-levels

Ulrich Halekoh Ulrich.Halekoh at agrsci.dk
Fri Mar 4 20:03:42 CET 2011


Using a factor with  'number'  levels the straightforward 
symbolic formulation of a contrast in 'glht' of
the 'multcomp' package fails.

How can this problem be resolved without having to redefine the factor levels?

Example:
#A is a factor with  'number' levels
#B similar factor with 'letter' levels
dat<-data.frame(y=1:4,A=factor(c(1,1,2,2)),
                      B=factor(c('e','e','f','f')) )
motA<-lm(y~A,data=dat)
motB<-lm(y~B,data=dat)
library(multcomp)
#does not work
glht(motA,linfct=mcp(A=c("2 - 1 = 0 ")))

#the error message is
# Error in coefs(ex[[3]]) : 
#   cannot interpret expression '1' as linear function

#works
glht(motB,linfct=mcp(B=c("f - e  = 0")))

regards

Ulrich Halekoh
Aarhus University
e-mail: Ulrich.Halekoh at agrsci.dk

I use R.2.12.2, package version of multcomp : 1.2-5



More information about the R-help mailing list