# gls

##### 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.

- Keywords
- models

##### Usage

```
gls(model, data, correlation, weights, subset, method, na.action,
control, verbose)
```

##### Arguments

- model
- 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. - data
- 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. - correlation
- 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, - weights
- 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 do - subset
- 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 - method
- 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"`

. - na.action
- a function that indicates what should happen when the
data contain
`NA`

s. The default action (`na.fail`

) causes`gls`

to print an error message and terminate if there are any incomplete observations. - control
- a list of control values for the estimation algorithm to
replace the default values returned by the function
`glsControl`

. Defaults to an empty list. - verbose
- an optional logical value. If
`TRUE`

information on the evolution of the iterative algorithm is printed. Default is`FALSE`

.

##### Value

- an object of class
`gls`

representing the linear model fit. Generic functions such as`print`

,`plot`

, 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.

##### References

The different correlation structures available for the
`correlation`

argument are described in Box, G.E.P., Jenkins,
G.M., and Reinsel G.C. (1994), Littel, R.C., Milliken, G.A., Stroup,
W.W., and Wolfinger, R.D. (1996), and Venables, W.N. and Ripley,
B.D. (1997). The use of variance functions for linear
and nonlinear models is presented in detail in Carroll, R.J. and Ruppert,
D. (1988) and Davidian, M. and Giltinan, D.M. (1995).

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

Carroll, R.J. and Ruppert, D. (1988) "Transformation and Weighting in Regression", Chapman and Hall.

Davidian, M. and Giltinan, D.M. (1995) "Nonlinear Mixed Effects Models for Repeated Measurement Data", Chapman and Hall.

Littel, R.C., Milliken, G.A., Stroup, W.W., and Wolfinger, R.D. (1996) "SAS Systems for Mixed Models", SAS Institute.

Venables, W.N. and Ripley, B.D. (1997) "Modern Applied Statistics with S-plus", 2nd Edition, Springer-Verlag.

##### See Also

##### Examples

`library(nlme)`

```
data(Ovary)
# AR(1) errors within each Mare
fm1 <- gls(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), Ovary,
correlation = corAR1(form = ~ 1 | Mare))
# variance increases as a power of the absolute fitted values
fm2 <- gls(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), Ovary,
weights = varPower())
```

*Documentation reproduced from package nlme, version 3.1-1, License: GPL version 2 or later*