[R] maintaining specified factor contrasts when subsetting in lmer
Francisco J. Zagmutt
gerifalte28 at hotmail.com
Sat Jul 7 00:40:28 CEST 2007
See ?relevel
Regards,
Francisco
Afshartous, David wrote:
> All,
>
> I'm using lmer for some repeated measures data and have specified
> the contrasts for a time factor such that say time 3 is the base. This
> works fine. However, when
> I next use the subset argument to remove the last two time values, the
> output indicates that
> the specified contrast is not maintained (see below). I can solve this
> by creating a new dataframe
> for the subset of interest and redefining the constrasts, but I was
> wondering if there is a direct method that
> allows me to continue w/ the subset argument? (perhaps via supplying a
> contrast argument to lmer
> directly, but this doesn't seem possible based on the defintion of this
> argument in model.matrix.default).
>
> Thanks,
> Dave
>
>
> z <- rnorm(24, mean=0, sd=1)
> time <- factor(paste("Time-", rep(1:6, 4), sep=""))
> Patient <- rep(1:4, each = 6)
> drug <- factor(rep(c("D", "P"), each = 6, times = 2)) ## P = placebo, D
> = Drug
> dat.new <- data.frame(time, drug, z, Patient)
>
> ### specify the contrast as time 3:
> contrasts(dat.new$time) <- contr.treatment(6, base=3)
> dimnames(contrasts(dat.new$time))[[1]] <-
> as.character(levels(dat.new$time))
> dimnames(contrasts(dat.new$time))[[2]] <-
> as.character(levels(dat.new$time)[-3])
>
> fm1 <- lmer(z ~ drug + time + (1 | Patient), data = dat.new )
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) -0.182774 0.464014 -0.39390
> drugP -0.281103 0.352309 -0.79789
> timeTime-1 0.150505 0.606462 0.24817
> timeTime-2 0.612016 0.606462 1.00916
> timeTime-4 0.775342 0.606462 1.27847
> timeTime-5 0.093741 0.606462 0.15457
> timeTime-6 0.452442 0.606462 0.74604
>
> ## time 3 is the base as specified
>
> fm2 <- lmer(z ~ drug + time + (1 | Patient), data = dat.new,
> subset = dat.new$time !="Time-6" & dat.new$time != "Time-5")
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) 0.052975 0.500675 0.10581
> drugP -0.451593 0.447818 -1.00843
> timeTime-2 0.461511 0.633310 0.72873
> timeTime-3 -0.150505 0.633310 -0.23765
> timeTime-4 0.624837 0.633310 0.98662
>
> ### time 3 no longer the base; was expecting to see the fixed effects
> for time-1, time-2, and time-4, w/ Intercept
> ### representing time-3
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
More information about the R-help
mailing list