Hi all, I was trying to use glht() from multcomp package to construct a contrast on interaction term in a linear model to do some comparisons. I am little uncertain on how to construct contrasts on a 3-way interaction containing a continuous variable, and hope someone can confirm what I did is correct or wrong:
The linear model has a continuous dependent variable âyâ, with treatment factor âTrtâ with value 0 and 1, a factor variable âAâ with value 0 and 1, a continuous variable âxâ.  A simpler model is:  set.seed(10) dat <- cbind(y=c(rnorm(10,3),rnorm(10,4),rnorm(10,3.1),rnorm(10,6)), x=runif(40,5,15), expand.grid(A=rep(factor(0:1),each=10),Trt=factor(0:1)))  fit <- lm(y ~ x + Trt * A,dat)  My purpose is to test whether treatment effect is significant given each level of factor A, so I used contrasts:  library(multcomp)  K <- rbind(c(0,0,1,0,0), c(0,0,1,0,1)) rownames(K) <- c('Trt 1-0|A=0','Trt 1-0|A=1') colnames(K) <- names(coef(fit)) K       (Intercept) x Trt1 A1 Trt1:A1 Trt 1-0|A=0      0 0   1  0    0 Trt 1-0|A=1      0 0   1  0    1  (glht.fit <- summary(glht(fit, linfct = K), test=adjusted(type='none'))) Linear Hypotheses:                 Estimate Std. Error t value Pr(>|t|)  Trt 1-0|A=0 == 0 -0.2720    0.3616 -0.752 0.45701  Trt 1-0|A=1 == 0  1.0690    0.3564  2.999 0.00496 **  Now I suspect independent variable âxâ may play a role in the treatment effect at each level of A, so I would like to add in a 3-way interaction between Trt, A and x:  fit <- lm(y ~ x * Trt * A,dat)  If my purpose is to test whether treatment is significant at each level of factor A and certain value of covariate âxâ, for example, when x=10, would following code give me what I wanted?  K <- rbind(c(0,0,1,0,10,0,0,0), c(0,0,1,0,10,0,1,10)) rownames(K) <- c('Trt 1-0|A=0 x=10','Trt 1-0|A=1 x=10') colnames(K) <- names(coef(fit)) K          (Intercept) x Trt1 A1 x:Trt1 x:A1 Trt1:A1 x:Trt1:A1 Trt 1-0|A=0 x=10      0 0   1  0   10   0    0     0 Trt 1-0|A=1 x=10      0 0   1  0   10   0    1     10  (glht.fit <- summary(glht(fit, linfct = K), test=adjusted(type='none'))) Linear Hypotheses:                      Estimate Std. Error t value Pr(>|t|)   Trt 1-0|A=0 x=10 == 0 -0.3526    0.3254 -1.083 0.286731   Trt 1-0|A=1 x=10 == 0  1.4621    0.3328  4.394 0.000115 ***  So the above test was testing whether treatment effect is significant at each level of factor A when x=10, am I correct? Appreciate if someone would confirm this? Thanks John [[alternative HTML version deleted]]
______________________________________________ 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.