From: Chuck Cleland <ccleland_at_optonline.net>

Date: Wed, 05 Mar 2008 11:53:06 -0500

*>>
*

>> One approach would be to use glht() in the multcomp package. You

*>> need to work out how to formulate the matrix of coefficients that give
*

*>> the desired contrasts. Here is an example using the warpbreaks data
*

*>> frame:
*

*>>
*

*>> fm <- lm(breaks ~ tension*wool, data=warpbreaks)
*

*>>
*

*>> # names(coef(fm))
*

*>> # (Intercept) tensionM tensionH woolB tensionM:woolB tensionH:woolB
*

*>>
*

*>> cm <- rbind(
*

*>> "A vs. B at L" = c(0, 0, 0,-1, 0, 0),
*

*>> "A vs. B at M" = c(0, 0, 0,-1,-1, 0),
*

*>> "A vs. B at H" = c(0, 0, 0,-1, 0,-1),
*

*>> "M vs. L at A" = c(0, 1, 0, 0, 0, 0),
*

*>> "M vs. H at A" = c(0, 1,-1, 0, 0, 0),
*

*>> "L vs. H at A" = c(0, 0,-1, 0, 0, 0),
*

*>> "M vs. L at B" = c(0, 1, 0, 0, 1, 0),
*

*>> "M vs. H at B" = c(0, 1,-1, 0, 1,-1),
*

*>> "L vs. H at B" = c(0, 0,-1, 0, 0,-1))
*

*>>
*

*>> library(multcomp)
*

*>>
*

*>> summary(glht(fm, linfct = cm), test = adjusted(type="none"))
*

*>>
*

*>> Simultaneous Tests for General Linear Hypotheses
*

*>>
*

*>> Fit: lm(formula = breaks ~ tension * wool, data = warpbreaks)
*

*>>
*

*>> Linear Hypotheses:
*

*>> Estimate Std. Error t value p value
*

*>> A vs. B at L == 0 16.3333 5.1573 3.167 0.002677 **
*

*>> A vs. B at M == 0 -4.7778 5.1573 -0.926 0.358867
*

*>> A vs. B at H == 0 5.7778 5.1573 1.120 0.268156
*

*>> M vs. L at A == 0 -20.5556 5.1573 -3.986 0.000228 ***
*

*>> M vs. H at A == 0 -0.5556 5.1573 -0.108 0.914665
*

*>> L vs. H at A == 0 20.0000 5.1573 3.878 0.000320 ***
*

*>> M vs. L at B == 0 0.5556 5.1573 0.108 0.914665
*

*>> M vs. H at B == 0 10.0000 5.1573 1.939 0.058392 .
*

*>> L vs. H at B == 0 9.4444 5.1573 1.831 0.073270 .
*

*>> ---
*

*>> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
*

*>> (Adjusted p values reported -- none method)
*

Date: Wed, 05 Mar 2008 11:53:06 -0500

On 3/5/2008 10:09 AM, jebyrnes wrote:

> Huh. Very interesting. I haven't really worked with manipulating contrast > matrices before, save to do a prior contrasts. Could you explain the matrix > you laid out just a bit more so that I can generalize it to my case?

library(contrast)

# M vs. H at B

contrast(fm, a=list(tension = "M", wool = "B"),

b=list(tension = "H", wool = "B"))

lm model parameter contrast

Contrast S.E. Lower Upper t df Pr(>|t|) 10 5.157299 -0.3694453 20.36945 1.94 48 0.0584

It also allows you to print the design matrix for a contrast:

contrast(fm, a=list(tension = "M", wool = "B"),

b=list(tension = "H", wool = "B"))$X

(Intercept) tensionM tensionH woolB tensionM:woolB tensionH:woolB 1 0 1 -1 0 1 -1

> Chuck Cleland wrote:

>> One approach would be to use glht() in the multcomp package. You

-- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 512-0171 (M, W, F) fax: (917) 438-0894 ______________________________________________ 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.Received on Wed 05 Mar 2008 - 17:08:16 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Wed 05 Mar 2008 - 19:30:37 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*