# addTerms

Add terms to linear regression model

## Description

## Examples

## Input Arguments

## Output Arguments

## More About

## Algorithms

`addTerms`

treats a categorical predictor as follows:A model with a categorical predictor that has

*L*levels (categories) includes*L*– 1 indicator variables. The model uses the first category as a reference level, so it does not include the indicator variable for the reference level. If the data type of the categorical predictor is`categorical`

, then you can check the order of categories by using`categories`

and reorder the categories by using`reordercats`

to customize the reference level. For more details about creating indicator variables, see Automatic Creation of Dummy Variables.`addTerms`

treats the group of*L*– 1 indicator variables as a single variable. If you want to treat the indicator variables as distinct predictor variables, create indicator variables manually by using`dummyvar`

. Then use the indicator variables, except the one corresponding to the reference level of the categorical variable, when you fit a model. For the categorical predictor`X`

, if you specify all columns of`dummyvar(X)`

and an intercept term as predictors, then the design matrix becomes rank deficient.Interaction terms between a continuous predictor and a categorical predictor with

*L*levels consist of the element-wise product of the*L*– 1 indicator variables with the continuous predictor.Interaction terms between two categorical predictors with

*L*and*M*levels consist of the (*L*– 1)*(*M*– 1) indicator variables to include all possible combinations of the two categorical predictor levels.You cannot specify higher-order terms for a categorical predictor because the square of an indicator is equal to itself.

## Alternative Functionality

Use

`stepwiselm`

to specify terms in a starting model and continue improving the model until no single step of adding or removing a term is beneficial.Use

`removeTerms`

to remove specific terms from a model.Use

`step`

to optimally improve a model by adding or removing terms.

## Extended Capabilities

## See Also

`LinearModel`

| `removeTerms`

| `step`

| `stepwiselm`

**Introduced in R2012a**