Re: [R] Repeated Measures, groupedData and lme

From: Douglas Bates <>
Date: Thu 31 Mar 2005 - 22:54:26 EST

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.


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

Probably that is the best course. mailing list PLEASE do read the posting guide! Received on Thu Mar 31 23:07:13 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:30:58 EST