Fit Linear Model Using Generalized Least Squares
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"
.
Gls(model, data, correlation, weights, subset, method, na.action=na.omit, control, verbose, B=0, dupCluster=FALSE, pr=FALSE, x=FALSE) ## S3 method for class 'Gls' print(x, digits=4, coefs=TRUE, title, ...)
model |
a two-sided linear formula object describing the
model, with the response on the left of a |
data |
an optional data frame containing the variables named in
|
correlation |
an optional |
weights |
an optional |
subset |
an optional expression indicating which subset of the rows of
|
method |
a character string. If |
na.action |
a function that indicates what should happen when the
data contain |
control |
a list of control values for the estimation algorithm to
replace the default values returned by the function |
verbose |
an optional logical value. If |
B |
number of bootstrap resamples to fit and store, default is none |
dupCluster |
set to |
pr |
set to |
x |
for |
digits |
number of significant digits to print |
coefs |
specify |
title |
a character string title to be passed to |
... |
ignored |
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.
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-index is also stored in the returned object under the name
"g"
.
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
Pinheiro J, Bates D (2000): Mixed effects models in S and S-Plus. New York: Springer-Verlag.
## Not run: 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) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.