[R-sig-ME] random effect variance per treatment group in lmer

Afshartous, David afshart at exchange.sba.miami.edu
Fri Jul 13 16:44:04 CEST 2007


 
Alan,

Thanks for the suggestion.  I noticed the following error msg
for that lmer call:

> ( fm.het <- lmer( dv ~ rep(1:n.timepoints, n.subj.per.tx*2)*drug + ( 0
+ as.numeric(drug=="D") | Patient ) + ( 0 + as.numeric(drug=="P") |
Patient ), data=dat.new ) )
Error: length(term) == 3 is not TRUE

I tried a few changes to the model but the error still exists; I'll 
keep checking.  I assume the rationale for the structure of your lmer
call, where you use as.numeric as opposed to just drug above, is to
insure that
you do not introduce a random effect for drug into the model?

Regards,
Dave



> -----Original Message-----
> From: Alan Cobo-Lewis [mailto:alanc at umit.maine.edu] 
> Sent: Wednesday, July 11, 2007 6:40 PM
> To: r-sig-mixed-models at r-project.org
> Cc: " "Afshartous at basalt.its.maine.edu; Afshartous, David; 
> Andrew Robinson
> Subject: Re: random effect variance per treatment group in lmer
> 
> 
> Dave,
> 
> How about using stratifying variance on level of drug using ( 
> 0 + as.numeric(drug=="D") | Patient ) + ( 0 + 
> as.numeric(drug=="P") | Patient ) Here's some code (whose sim 
> also builds in a fixed effect of time that applies only to 
> the Drug condition).
> 
> set.seed(500)
> n.timepoints <- 8
> n.subj.per.tx <- 20
> sd.d <- 5; sd.p <- 2; sd.res <- 1.3
> drug <- factor(rep(c("D", "P"), each = n.timepoints, times = 
> n.subj.per.tx)) drug.baseline <- rep( c(0,5), 
> each=n.timepoints, times=n.subj.per.tx ) Patient <- 
> rep(1:(n.subj.per.tx*2), each = n.timepoints) 
> Patient.baseline <- rep( rnorm( n.subj.per.tx*2, sd=c(sd.d, 
> sd.p) ), each=n.timepoints ) time <- factor(paste("Time-", 
> rep(1:n.timepoints, n.subj.per.tx*2), sep="")) time.baseline 
> <- rep(1:n.timepoints,n.subj.per.tx*2)*as.numeric(drug=="D")
> dv <- rnorm( n.subj.per.tx*n.timepoints*2, 
> mean=time.baseline+Patient.baseline+drug.baseline, sd=sd.res 
> ) dat.new <- data.frame(time, drug, dv, Patient) xyplot( 
> dv~time|drug, group=Patient, type="l", data=dat.new ) # fit 
> model treats time as a quantitative predictor ( fm.het <- 
> lmer( dv ~ rep(1:n.timepoints, n.subj.per.tx*2)*drug + ( 0 + 
> as.numeric(drug=="D") | Patient ) + ( 0 + 
> as.numeric(drug=="P") | Patient ), data=dat.new ) )
> 
> 
> HTH,
> alan
> 
> 
> >From: "Afshartous, David" <afshart at exchange.sba.miami.edu>
>  asked:
> 
> >
> >All,
> >I didn't receive a response to the query below sent to the general 
> >R-help mailing list so figured I'd try this mailing list.  
> Apologies in 
> >advance if this is an overly simplistic question for this 
> list; I just 
> >started w/ lmer after not using lme for awhile.
> >Cheers,
> >Dave
> >
> >
> >__________________________________________________________
> >
> >All,
> > 
> >How does one specify a model in lmer such that say the random effect 
> >for
> >
> >the intercept has a different variance per treatment group?  
> >Thus, in the model equation, we'd have say b_ij represent the random 
> >effect for patient j in treatment group i, with variance 
> depending on 
> >i, i.e,
> >var(b_ij) = tau_i.
> > 
> >Didn't see this in the docs or Pinherio & Bates (section 5.2 is 
> >specific for modelling within group errors).  Sample 
> repeated measures 
> >code below is for a single random effect variance, where the random 
> >effect corresponds to patient.
> >cheers,
> >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) fm =  
> >lmer(z ~ drug + time + (1 | Patient), data = dat.new )
> 
> 
> 
> --
> Alan B. Cobo-Lewis, Ph.D.		(207) 581-3840 tel
> Department of Psychology		(207) 581-6128 fax
> University of Maine
> Orono, ME 04469-5742     		alanc at maine.edu
> 
> http://www.umaine.edu/visualperception
> 
> 
>




More information about the R-sig-mixed-models mailing list