Last chance! 50% off unlimited learning
Sale ends in
This function fits a linear model using generalized least
squares. The errors are allowed to be correlated and/or have unequal
variances. Gls
is a slightly enhanced version of the
Pinheiro and Bates gls
function in the nlme
package to
make it easy to use with the rms package and to implement cluster
bootstrapping (primarily for nonparametric estimates of the
variance-covariance matrix of the parameter estimates and for
nonparametric confidence limits of correlation parameters).
For the print
method, format of output is controlled by the
user previously running options(prType="lang")
where
lang
is "plain"
(the default), "latex"
, or
"html"
. When using html with Quarto or RMarkdown,
results='asis'
need not be written in the chunk header.
Gls(model, data, correlation, weights, subset, method, na.action=na.omit,
control, verbose, B=0, dupCluster=FALSE, pr=FALSE, x=FALSE)# S3 method for Gls
print(x, digits=4, coefs=TRUE, title, ...)
an object of classes Gls
, rms
, and gls
representing the linear model
fit. Generic functions such as print
, plot
,
ggplot
, and summary
have methods to show the results of
the fit. See
glsObject
for the components of the fit. The functions
resid
, coef
, and fitted
can be used to extract
some of its components. Gls
returns the following components
not returned by gls
: Design
, assign
,
formula
(see arguments), B
(see
arguments), bootCoef
(matrix of B
bootstrapped
coefficients), boot.Corr
(vector of bootstrapped correlation
parameters), Nboot
(vector of total sample size used in each
bootstrap (may vary if have unbalanced clusters), and var
(sample variance-covariance matrix of bootstrapped coefficients). The
"g"
.
a two-sided linear formula object describing the
model, with the response on the left of a ~
operator and the
terms, separated by +
operators, on the right.
an optional data frame containing the variables named in
model
, correlation
, weights
, and
subset
. By default the variables are taken from the
environment from which gls
is called.
an optional corStruct
object describing the
within-group correlation structure. See the documentation of
corClasses
for a description of the available corStruct
classes. If a grouping variable is to be used, it must be specified in
the form
argument to the corStruct
constructor. Defaults to NULL
, corresponding to uncorrelated
errors.
an optional varFunc
object or one-sided formula
describing the within-group heteroscedasticity structure. If given as
a formula, it is used as the argument to varFixed
,
corresponding to fixed variance weights. See the documentation on
varClasses
for a description of the available varFunc
classes. Defaults to NULL
, corresponding to homoscesdatic
errors.
an optional expression indicating which subset of the rows of
data
should be used in the fit. This can be a logical
vector, or a numeric vector indicating which observation numbers are
to be included, or a character vector of the row names to be
included. All observations are included by default.
a character string. If "REML"
the model is fit by
maximizing the restricted log-likelihood. If "ML"
the
log-likelihood is maximized. Defaults to "REML"
.
a function that indicates what should happen when the
data contain NA
s. The default action (na.omit
) results
in deletion of observations having any of the variables of interest missing.
a list of control values for the estimation algorithm to
replace the default values returned by the function glsControl
.
Defaults to an empty list.
an optional logical value. If TRUE
information on
the evolution of the iterative algorithm is printed. Default is
FALSE
.
number of bootstrap resamples to fit and store, default is none
set to TRUE
to have Gls
when
bootstrapping to consider multiply-sampled clusters as if they were
one large cluster when fitting using the gls
algorithm
set to TRUE
to show progress of bootstrap resampling
for Gls
set to TRUE
to store the design matrix
in the fit object; otherwise the result of Gls
number of significant digits to print
specify coefs=FALSE
to suppress printing the table
of model coefficients, standard errors, etc. Specify coefs=n
to print only the first n
regression coefficients in the
model.
a character string title to be passed to prModFit
ignored
Jose Pinheiro, Douglas Bates bates@stat.wisc.edu, Saikat DebRoy, Deepayan Sarkar, R-core R-core@R-project.org, Frank Harrell fh@fharrell.com, Patrick Aboyoun
The na.delete
function will not work with
Gls
due to some nuance in the model.frame.default
function. This probably relates to na.delete
storing extra
information in the "na.action"
attribute of the returned data
frame.
Pinheiro J, Bates D (2000): Mixed effects models in S and S-Plus. New York: Springer-Verlag.
gls
glsControl
, glsObject
,
varFunc
, corClasses
,
varClasses
, GiniMd
,
prModFit
, logLik.Gls
if (FALSE) {
require(ggplot2)
ns <- 20 # no. subjects
nt <- 10 # no. time points/subject
B <- 10 # no. bootstrap resamples
# usually do 100 for variances, 1000 for nonparametric CLs
rho <- .5 # AR(1) correlation parameter
V <- matrix(0, nrow=nt, ncol=nt)
V <- rho^abs(row(V)-col(V)) # per-subject correlation/covariance matrix
d <- expand.grid(tim=1:nt, id=1:ns)
d$trt <- factor(ifelse(d$id <= ns/2, 'a', 'b'))
true.beta <- c(Intercept=0,tim=.1,'tim^2'=0,'trt=b'=1)
d$ey <- true.beta['Intercept'] + true.beta['tim']*d$tim +
true.beta['tim^2']*(d$tim^2) + true.beta['trt=b']*(d$trt=='b')
set.seed(13)
library(MASS) # needed for mvrnorm
d$y <- d$ey + as.vector(t(mvrnorm(n=ns, mu=rep(0,nt), Sigma=V)))
dd <- datadist(d); options(datadist='dd')
f <- Gls(y ~ pol(tim,2) + trt, correlation=corCAR1(form= ~tim | id),
data=d, B=B)
f
AIC(f)
f$var # bootstrap variances
f$varBeta # original variances
summary(f)
anova(f)
ggplot(Predict(f, tim, trt))
# v <- Variogram(f, form=~tim|id, data=d)
nlme:::summary.gls(f)$tTable # print matrix of estimates etc.
options(datadist=NULL)
}
Run the code above in your browser using DataLab