I'm trying to analyze some data with repeated measurements on subjects in different treatment groups. Here's a subset of my data with observations taken on days 1, 3, and 21 (the complete dataset has additional observations on days between 3 and 21).
mydata <- data.frame(
Subject = c(13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 62, 63, 64, 65),
Day = as.numeric(c(rep(c("1", "3", "21"), each=28))),
Treatment = c(rep(c("B", "A", "C", "B", "C", "A", "A", "B", "A", "C", "B", "C",
"A", "A", "B", "A", "C", "B", "C", "A", "A"), each = 4)),
Obs = c(6.472687, 7.017110, 6.200715, 6.613928, 6.829968, 7.387583, 7.367293,
8.018853, 7.527408, 6.746739, 7.296910, 6.983360, 6.816621, 6.571689,
5.911261, 6.954988, 7.624122, 7.669865, 7.676225, 7.263593, 7.704737,
7.328716, 7.295610, 5.964180, 6.880814, 6.926342, 6.926342, 7.562293,
6.677607, 7.023526, 6.441864, 7.020875, 7.478931, 7.495336, 7.427709,
7.633020, 7.382091, 7.359731, 7.285889, 7.496863, 6.632403, 6.171196,
6.306012, 7.253833, 7.594852, 6.915225, 7.220147, 7.298227, 7.573612,
7.366550, 7.560513, 7.289078, 7.287802, 7.155336, 7.394452, 7.465383,
6.976048, 7.222966, 6.584153, 7.013223, 7.569905, 7.459185, 7.504068,
7.801867, 7.598728, 7.475841, 7.511873, 7.518384, 6.618589, 5.854754,
6.125749, 6.962720, 7.540600, 7.379861, 7.344189, 7.362815, 7.805802,
7.764172, 7.789844, 7.616437, NA, NA, NA, NA))
I want to analyze my data using a linear mixed model (using nlme):
mymodel <- lme(Obs ~ Treatment * Day, random = ~1 | Subject, correlation = corAR1(form = ~1 | Subject), data=mydata, na.action=na.omit)
Since I'm most interested in differences on the final day of the experiment, I'd really like the center at Day 21, but R appears to use the the lowest value as the reference level for a numerical variable. I could just set Day 21 to 0, but that messes up the time sequence, which is important for the autocorrelation structure, and changing Day to a factor just gives me an error message:
Error in MEEM(object, conLin, control$niterEM) :
Singularity in backsolve at level 0, block 1
So, how do I test the effect of Treatment with Day 21 as the reference level of Day?