Olivier Renaud
2008-Oct-13 12:07 UTC
[R] correlation structure in gls or lme/lmer with several observations per day
Hi, To simplify, suppose I have 2 observations each day for three days. I would like to define the correlation structure of these 6 observations as follows: the correlation of 2 observations on the same day is, say, alpha, the correlation for 2 observations one day apart is rho and the correlation for 2 observations 2 days apart is rho^2. I.e. I would like to have an AR1 correlation + a correlation for the same day. I tried with gls and lme from the nlme package, but with no success. One difficulty arises since corAR1 seems to require only one observation per day (see example below). Any idea on how to implement it, either with special correlation structures, or through random effects in lme/lmer ? should I try to define a "new" correlation structure corMultiAR1 ? If so, where can I find help on how to write such a piece of code ( nlme:::corAR1 is not clear to me) ? Or is there a way to define a general parametrised covariance matrix in gls ? Olivier> obs6 <- matrix( c(1,2,3,4,5,6, 1,1,2,2,3,3), byrow=F, nc=2) > dimnames(obs6) <- list(NULL, c("y","time")) > obs6 <- data.frame(obs6) > obs6y time 1 1 1 2 2 1 3 3 2 4 4 2 5 5 3 6 6 3> gls (y~1, correl=corAR1(0.0,~time), data=obs6)Error in Initialize.corAR1(X[[1L]], ...) : Covariate must have unique values within groups for corAR1 objects -- Olivier Renaud http://www.unige.ch/~renaud/ Methodology & Data Analysis - Psychology Dept - University of Geneva UniMail, Office 4142 - 40, Bd du Pont d'Arve - CH-1211 Geneva 4