[R] Repeated Measures, groupedData and lme

Douglas Bates bates at stat.wisc.edu
Thu Mar 31 14:54:26 CEST 2005


emma pilgrim (IGER-NW) wrote:
> Hello
> 
> I am trying to fit a REML to some soil mineral data which has been
> collected over the time period 1999 - 2004. I want to know if the 19
> different treatments imposed, differ in terms of their soil mineral
> content. A tree model of the data has shown differences between the
> treatments can be attributed to the Magnesium, Potassium and organic
> matter content of the soil, with Magnesium being the primary separating
> variable.
> 
> I am looking at soil mineral data were collected : 99, 02, 04. 
> 
> In the experiment, there are 19 different treatments (treatmentcontrol,
> treatment6TFYM, treatment 12TFYM etc),  which are replicated in 3
> blocks.
> 
> For the magnesium soil data, I have created the following groupedData
> object: 
> 
> magnesium<-groupedData(Mg~year|treatment, inner=~block) 
> Where mg=magnesium Kg/ha

Are you sure you want treatment to be the grouping factor?

> As it is a repeated measures I was going to use an lme.  I have looked
> at Pinherio and Bates : Mixed-Effects models in S and S-plus and I am
> getting slightly confused.  In order to fit the lme, should I specify
> the data to use in the model as the grouped structure model?
> 
> If so is the following command correct:
> 
> Model1<-lme(mg~treatment, random=block|year, data=magnesium)? 
> 
> I am slightly worried that it isn't, because in model summary, instead
> of listing the 19 different treatments in the fixed effects section, it
> writes intercept (as normal), then treatment^1, treatment^2 etc.

This is an unfortunate side-effect of creating a groupedData object - to 
create plots with panels in a natural order the grouping factor is 
changed to an ordered factor.  In your case the treatment factor will 
become an ordered factor and the default contrasts for an ordered factor 
are the polynomial contrasts.

There are two ways to get around this - don't create a groupedData 
object or change the default contrasts using

options(contrasts = c(unordered = "contr.treatment", ordered = 
"contr.treatment")


> However if I don't specify the groupedData object in the model, then in
> the fixed effects section, it names the treatments (i.e. intercept,
> treatmentcontrol, treatment6TFYM.

Yes.

> Should I be fitting the model using the whole data set rather than the
> groupedData object?

Probably that is the best course.




More information about the R-help mailing list