corAR1 function

AR(1) Correlation Structure

AR(1) Correlation Structure

This function is a constructor for the corAR1 class, representing an autocorrelation structure of order 1. Objects created using this constructor must later be initialized using the appropriate Initialize method.

corAR1(value, form, fixed)

Arguments

  • value: the value of the lag 1 autocorrelation, which must be between -1 and 1. Defaults to 0 (no autocorrelation).
  • form: a one sided formula of the form ~ t, or ~ t | g, specifying a time covariate t and, optionally, a grouping factor g. A covariate for this correlation structure must be integer valued. When a grouping factor is present in form, the correlation structure is assumed to apply only to observations within the same grouping level; observations with different grouping levels are assumed to be uncorrelated. Defaults to ~ 1, which corresponds to using the order of the observations in the data as a covariate, and no groups.
  • fixed: an optional logical value indicating whether the coefficients should be allowed to vary in the optimization, or kept fixed at their initial value. Defaults to FALSE, in which case the coefficients are allowed to vary.

Returns

an object of class corAR1, representing an autocorrelation structure of order 1.

References

Box, G.E.P., Jenkins, G.M., and Reinsel G.C. (1994) "Time Series Analysis: Forecasting and Control", 3rd Edition, Holden-Day.

Pinheiro, J.C., and Bates, D.M. (2000) "Mixed-Effects Models in S and S-PLUS", Springer, esp. pp. 235, 397.

Author(s)

José Pinheiro and Douglas Bates bates@stat.wisc.edu

See Also

ACF.lme, corARMA, corClasses, Dim.corSpatial, Initialize.corStruct, summary.corStruct

Examples

## covariate is observation order and grouping factor is Mare cs1 <- corAR1(0.2, form = ~ 1 | Mare) # Pinheiro and Bates, p. 236 cs1AR1 <- corAR1(0.8, form = ~ 1 | Subject) cs1AR1. <- Initialize(cs1AR1, data = Orthodont) corMatrix(cs1AR1.) # Pinheiro and Bates, p. 240 fm1Ovar.lme <- lme(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), data = Ovary, random = pdDiag(~sin(2*pi*Time))) fm2Ovar.lme <- update(fm1Ovar.lme, correlation = corAR1()) # Pinheiro and Bates, pp. 255-258: use in gls fm1Dial.gls <- gls(rate ~(pressure + I(pressure^2) + I(pressure^3) + I(pressure^4))*QB, Dialyzer) fm2Dial.gls <- update(fm1Dial.gls, weights = varPower(form = ~ pressure)) fm3Dial.gls <- update(fm2Dial.gls, corr = corAR1(0.771, form = ~ 1 | Subject)) # Pinheiro and Bates use in nlme: # from p. 240 needed on p. 396 fm1Ovar.lme <- lme(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), data = Ovary, random = pdDiag(~sin(2*pi*Time))) fm5Ovar.lme <- update(fm1Ovar.lme, correlation = corARMA(p = 1, q = 1)) # p. 396 fm1Ovar.nlme <- nlme(follicles~ A+B*sin(2*pi*w*Time)+C*cos(2*pi*w*Time), data=Ovary, fixed=A+B+C+w~1, random=pdDiag(A+B+w~1), start=c(fixef(fm5Ovar.lme), 1) ) # p. 397 fm2Ovar.nlme <- update(fm1Ovar.nlme, correlation=corAR1(0.311) )
  • Maintainer: R Core Team
  • License: GPL (>= 2)
  • Last published: 2025-03-31