# alias: Find Aliases (Dependencies) in a Model

## Description

Find aliases (linearly dependent terms) in a linear model specified by
a formula.

## Usage

alias(object, …)# S3 method for formula
alias(object, data, …)

# S3 method for lm
alias(object, complete = TRUE, partial = FALSE,
partial.pattern = FALSE, …)

## Arguments

object

A fitted model object, for example from `lm`

or
`aov`

, or a formula for `alias.formula`

.

data

Optionally, a data frame to search for the objects
in the formula.

complete

Should information on complete aliasing be included?

partial

Should information on partial aliasing be included?

partial.pattern

Should partial aliasing be presented in a
schematic way? If this is done, the results are presented in a
more compact way, usually giving the deciles of the coefficients.

…

further arguments passed to or from other methods.

## Value

A list (of `class`

`"listof"`

) containing components

ModelDescription of the model; usually the formula.

CompleteA matrix with columns corresponding to effects that
are linearly dependent on the rows.

PartialThe correlations of the estimable effects, with a zero
diagonal. An object of class `"mtable"`

which has its own
`print`

method.

## Details

Although the main method is for class `"lm"`

, `alias`

is
most useful for experimental designs and so is used with fits from
`aov`

.
Complete aliasing refers to effects in linear models that cannot be estimated
independently of the terms which occur earlier in the model and so
have their coefficients omitted from the fit. Partial aliasing refers
to effects that can be estimated less precisely because of
correlations induced by the design.

Some parts of the `"lm"`

method require recommended package
MASS to be installed.

## References

Chambers, J. M., Freeny, A and Heiberger, R. M. (1992)
*Analysis of variance; designed experiments.*
Chapter 5 of *Statistical Models in S*
eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

## Examples

# NOT RUN {
<!-- % as it loads MASS -->
op <- options(contrasts = c("contr.helmert", "contr.poly"))
npk.aov <- aov(yield ~ block + N*P*K, npk)
alias(npk.aov)
options(op) # reset
# }