[cc'ing back to r-help] On Fri, Nov 18, 2011 at 4:39 PM, matteo dossena <matteo.dossena at gmail.com> wrote:> Thanks a lot, > > just to make sure i got it right, > > if (using the real dataset) from the LogLikelihood ratio test model1 isn't "better" than model, > means that temporal auto correlation isn't seriously affecting the model?yes. (or use AIC etc.)> and, I shouldn't be nesting time within subject because is implicit > that observation from the same subject are the repeated measures?yes.> > The need of nesting would for example be: > an experiment ?also having spatial correlation, to say, if subjects are are also grouped by their geographical position, > should i in this case be nesting location within subject? >If subjects were in spatial blocks then you would nest subject within location (~1|location/subject). Note (from ?corAR1) that you can also use an explicit time covariate, (~time|location/subject) -- otherwise the assumption is that observations within subject are ordered by time.> cheers > m. > > Il giorno 18 Nov 2011, alle ore 18:26, Ben Bolker ha scritto: > >> 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) >> >> _______________________________________________ >> R-sig-mixed-models at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models > >
Thanks again, really appreciate that. Il giorno 18 Nov 2011, alle ore 23:06, Ben Bolker ha scritto:> [cc'ing back to r-help] > > On Fri, Nov 18, 2011 at 4:39 PM, matteo dossena > <matteo.dossena at gmail.com> wrote: >> Thanks a lot, >> >> just to make sure i got it right, >> >> if (using the real dataset) from the LogLikelihood ratio test model1 isn't "better" than model, >> means that temporal auto correlation isn't seriously affecting the model? > > yes. (or use AIC etc.) > >> and, I shouldn't be nesting time within subject because is implicit >> that observation from the same subject are the repeated measures? > > yes. > >> >> The need of nesting would for example be: >> an experiment also having spatial correlation, to say, if subjects are are also grouped by their geographical position, >> should i in this case be nesting location within subject? >> > > If subjects were in spatial blocks then you would nest subject > within location (~1|location/subject). > Note (from ?corAR1) that you can also use an explicit time covariate, > (~time|location/subject) -- otherwise > the assumption is that observations within subject are ordered by time. > >> cheers >> m. >> >> Il giorno 18 Nov 2011, alle ore 18:26, Ben Bolker ha scritto: >> >>> 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) >>> >>> _______________________________________________ >>> R-sig-mixed-models at r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models >> >>
Possibly Parallel Threads
- Simulate p-value in lme4
- lmer with spatial and temporal random factors, not nested
- question: corCAR1 in lme
- How to extract the within group correlation structure matrix in "lme"
- Which R function for GLMM with binary response, nested random factors with temporal correlation?