[R-sig-ME] account for temporal correlation
Ben Bolker
bbolker at gmail.com
Fri Nov 18 19:26:13 CET 2011
matteo dossena <matteo.dossena at ...> writes:
>
> Dear list,
>
> I have a data frame like this:
>
set.seed(5)
mydata <- data.frame(var = rnorm(100,20,1),
temp = sin(sort(rep(c(1:10),10))),
subj = as.factor(rep(c(1:10),5)),
time = sort(rep(c(1:10),10)),
trt = rep(c("A","B"), 50))
>
> I need to model the response of var as a function of temp*trt
> and to do so I'm using the following model:
>
library(nlme)
model <- lme(var~temp*trt,random=~1|subj,mydata)
>
> however, since i have repeated measurement of the same subject,
> i.e. I measured var in subj1 at time1,2,3..
> I must consider the non independence of the residuals.
> moreover, temp is also a function of time, but i'm not sure how
> to include this in my model.
>
> I'm following the approach in Zuur et al 2009, so I checked for
> temporal auto-correlation using the
> function afc()
> In fact the residuals follow the temporal patter of temperature with time.
> However, here I'm not interested in the temporal dependence of temperature
> and consequently the effect of
> this on var.
> Instead what i need to do is to account for the
> correlation between consecutive measures (made on the same
> subject) in the error term of the model.
>
> here is my attempt to do so:
>
model1 <- lme(var~temp*trt,random=~1|subj,
correlation=corAR1(form=~1|subj),mydata)
model1$modelStruct$corStruct
Correlation structure of class corAR1 representing
Phi
-0.05565362
You shouldn't be nesting time within subject. 'subject' is all the grouping
you need here.
intervals(model1)
gives (approximate!!) CI for the correlation structure parameter
(-0.27,0.77) in this case
Of course, in this case we don't expect to find anything interesting
because these are simulated data without any correlation built in.
These plots are useful.
plot(ACF(model),alpha=0.05)
plot(ACF(model1),alpha=0.05) ## should be ALMOST identical to the one above
## taking correlation into account:
plot(ACF(model1,resType="normalized"),alpha=0.05)
More information about the R-sig-mixed-models
mailing list