corExp                 package:nlme                 R Documentation

Exponential Correlation Structure

Description:

     This function is a constructor for the 'corExp' class,
     representing an exponential spatial correlation structure. Letting
     d denote the range and n denote the nugget effect, the correlation
     between two observations a distance r apart is exp(-r/d) when no
     nugget effect is present and (1-n)*exp(-r/d) when a nugget effect
     is assumed. Objects created using this constructor must later be
     initialized using the appropriate 'Initialize' method.

Usage:

     corExp(value, form, nugget, metric, fixed)

Arguments:

   value: an optional vector with the parameter values in constrained
          form. If 'nugget' is 'FALSE', 'value' can have only one
          element, corresponding to the "range" of the exponential
          correlation structure, which must be greater than zero. If
          'nugget' is 'TRUE', meaning that a nugget effect is present,
          'value' can contain one or two elements, the first being the
          "range" and the second the "nugget effect" (one minus the
          correlation between two observations taken arbitrarily close
          together); the first must be greater than zero and the second
          must be between zero and one. Defaults to 'numeric(0)', which
          results in a range of 90% of the minimum distance and a
          nugget effect of 0.1 being assigned to the parameters when
          'object' is initialized.

    form: a one sided formula of the form '~ S1+...+Sp', or '~
          S1+...+Sp | g', specifying spatial covariates 'S1' through
          'Sp' and,  optionally, a grouping factor 'g'.  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.

  nugget: an optional logical value indicating whether a nugget effect
          is present. Defaults to 'FALSE'.

  metric: an optional character string specifying the distance metric
          to be used. The currently available options are '"euclidean"'
          for the root sum-of-squares of distances; '"maximum"' for the
          maximum difference; and '"manhattan"' for the sum of the
          absolute differences. Partial matching of arguments is used,
          so only the first three characters need to be provided.
          Defaults to '"euclidean"'.

   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.

Value:

     an object of class 'corExp', also inheriting from class
     'corSpatial', representing an exponential spatial correlation
     structure.

Author(s):

     Jose Pinheiro Jose.Pinheiro@pharma.novartis.com and Douglas Bates
     bates@stat.wisc.edu

References:

     Cressie, N.A.C. (1993), "Statistics for Spatial Data", J. Wiley &
     Sons. Venables, W.N. and Ripley, B.D. (1997) "Modern Applied
     Statistics with S-plus", 2nd Edition, Springer-Verlag.

     Littel, Milliken, Stroup, and Wolfinger (1996) "SAS Systems for
     Mixed Models", SAS Institute.

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

See Also:

     'corClasses', 'Initialize.corStruct', 'summary.corStruct', 'dist'

Examples:

     sp1 <- corExp(form = ~ x + y + z)

     # Pinheiro and Bates, p. 238
     spatDat <- data.frame(x = (0:4)/4, y = (0:4)/4)

     cs1Exp <- corExp(1, form = ~ x + y)
     cs1Exp <- Initialize(cs1Exp, spatDat)
     corMatrix(cs1Exp)

     cs2Exp <- corExp(1, form = ~ x + y, metric = "man")
     cs2Exp <- Initialize(cs2Exp, spatDat)
     corMatrix(cs2Exp)

     cs3Exp <- corExp(c(1, 0.2), form = ~ x + y,
                      nugget = TRUE)
     cs3Exp <- Initialize(cs3Exp, spatDat)
     corMatrix(cs3Exp)

     # example lme(..., corExp ...)
     # Pinheiro and Bates, pp. 222-247
     # p. 222
     options(contrasts = c("contr.treatment", "contr.poly"))
     fm1BW.lme <- lme(weight ~ Time * Diet, BodyWeight,
                        random = ~ Time)
     # p. 223
     fm2BW.lme <- update(fm1BW.lme, weights = varPower())
     # p. 246
     fm3BW.lme <- update(fm2BW.lme,
                correlation = corExp(form = ~ Time))
     # p. 247
     fm4BW.lme <-
           update(fm3BW.lme, correlation = corExp(form =  ~ Time,
                             nugget = TRUE))
     anova(fm3BW.lme, fm4BW.lme)

