Ulrich Halekoh
2011-Mar-04 19:03 UTC
[R] glht: Problem with symbolic contrast for factors with number-levels
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
Richard M. Heiberger
2011-Mar-04 19:33 UTC
[R] glht: Problem with symbolic contrast for factors with number-levels
Use backquotes confint(glht(motA,linfct=mcp(A=c("`2` - `1` = 0 ")))) On Fri, Mar 4, 2011 at 2:03 PM, Ulrich Halekoh <Ulrich.Halekoh@agrsci.dk>wrote:> 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@agrsci.dk > > I use R.2.12.2, package version of multcomp : 1.2-5 > > ______________________________________________ > 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<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
William Dunlap
2011-Mar-04 19:33 UTC
[R] glht: Problem with symbolic contrast for factors withnumber-levels
> -----Original Message----- > From: r-help-bounces at r-project.org > [mailto:r-help-bounces at r-project.org] On Behalf Of Ulrich Halekoh > Sent: Friday, March 04, 2011 11:04 AM > To: r-help at r-project.org > Subject: [R] glht: Problem with symbolic contrast for factors > withnumber-levels > > 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 functionTry putting backquotes around the factor levels so the R parser makes names out of them. > glht(motA,linfct=mcp(A=c("`2` - `1` = 0 "))) General Linear Hypotheses Multiple Comparisons of Means: User-defined Contrasts Linear Hypotheses: Estimate `2` - `1` == 0 2 Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com> > #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 > > ______________________________________________ > R-help at 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. >