Mixed effects model with repeated measures I was trying to work out this on my own but I find myself overwhelmed.
I am looking at the amount of moisture present in forest fuels (FMC) following forest thinning. Forest fuels are classified by their size into five distinct size classes (FuelType). I monitored changes in FMC over the course of one dry season by monthly sampling (SamplingMonth) of each FuelType in 13 different forest stands (UnitID). Forest stands include 10 thinned forest, and 3 unthinned forests (Treatment). Forest stands vary based on their age, and time since thinning took place.
I would like to determine if there are differences in FMC between thinned and unthinned forests. Due to the fact that FuelType respond to seasonal changes differently, it is necessary to consider them separately. Using lme4 package I built the following models:
model.one = lmer(log(FMC) ~ Treatment + FuelType + (SamplingMonth | UnitID) , data=moisture)
model.two = lmer(log(FMC) ~ Treatment + FuelType + (1+SamplingMonth | UnitID) , data=moisture)

I was able to run them both, which is a success in itself. But I am not convinced that these models are really telling me what I wanted to know. For some reason I anticipated a random effect (SamplingMonth | FuelType) in there somewhere but the model will not budge.
Upon request I am attaching a link to my data:
http://radekonline.com/download/ForAnalysis/MoistureDataBasic.dat 
And the R code to retrieve it:
moisture <- read.csv("http://radekonline.com/download/ForAnalysis/MoistureDataBasic.dat")

Any help and opinion would be greatly appreciated!
Thank you.
 A: Thanks for the question!
First off, the two models you show are identical - (SamplingMonth | UnitID) is implicitly (1 + SamplingMonth | UnitID). If you wanted to run a model without random intercepts by UnitID, and just random slopes, you'd need to run (0 + SamplingMonth | UnitID).
You mention that different FuelTypes would be expected to respond to seasonal changes differently. Right now you're modelling each individual stand as responding to seasonal changes differently. If you just wanted to model by FuelType, I think I would run something like this:
lmer(log(FMC) ~ Treatment + FuelType + (0 + SamplingMonth | FuelType) + (1 | UnitID), data=moisture)

Where you're specifying that you want a fixed effect of Treatment and FuelType, you want the effect of SamplingMonth to have different slopes in each FuelType, and you're modelling random intercepts for each UnitID. We don't model random intercepts for FuelType (thus the zero) because I assume from youre description that these are fixed categories and shouldn't be modeled as random representatives of an unknown distribution of Fuel Types. Hopefully that helps.
Update The model I posted above was a bit off. I ran the model below, which I believe is correct, on the actual data to no warnings - assuming MOISTURECONTENT is your outcome variable. Here we treat SamplingMonth as a random factor that has both a random intercept and random slopes of FuelType, which models the expected variance in seasonal changes across different FuelTypes.
summary(lmer(log(MOISTURECONTENT) ~ Treatment + FUELTYPE + (1 + FUELTYPE| SamplingMonth) + (1 |UNITID), data=moisture))

The results of this model indicate that there is substantially more variance in the moisture of the Litter Fueltype across months than the other FuelTypes. Note that this does treat months as being random factors, which is possibly not appropriate for your data if you expect there to be fixed effects of seasonal changes. But if you can assume these months are drawn from a random distribution of possible months within the season you tested, it should be sound. If you're concerned that that's not the case, you could potentially add a season factor (e.g. Autumn, Summer, Winter) and treat months within seasons as random factors.
If you run the code below, you'll be able to see the variation in the monthly effects by FuelType:
forestmodel <- lmer(log(MOISTURECONTENT) ~ Treatment + FUELTYPE + (1 + FUELTYPE| SamplingMonth) + (1 |UNITID), data=moisture)
require(lattice)
dotplot(ranef(forestmodel))

If it's of interest, adding an interaction term between the Treatment and FUELTYPE variables reveals that the Treatment seems to have most of its effect at the 1000hour and Litter Fueltypes. Not sure if that's relevant, but I found it interesting.
summary(lmer(log(MOISTURECONTENT) ~ Treatment*FUELTYPE + (1  + FUELTYPE| SamplingMonth) + (1 |UNITID), data=moisture))

