# Various Utility Functions

### Description

`reverse.parm`

and `reverse.exclude`

reverse the order of
variables in an interaction term.

`formatCands`

creates new classes for lists containing candidate
models.

### Usage

1 2 3 | ```
reverse.parm(parm)
reverse.exclude(exclude)
formatCands(cand.set)
``` |

### Arguments

`parm` |
a parameter to be model-averaged, enclosed between quotes, as it appears in the output of some models. |

`exclude` |
a list of interaction or polynomial terms appearing in some models, as
they would appear in the call to the model function (i.e., |

`cand.set` |
a list storing each of the models in the candidate model set. |

### Details

These utility functions are used internally by `aictab`

,
`modavg`

, and other related functions.

`reverse.parm`

and `reverse.exclude`

enable the user to
specify differently interaction terms (e.g., `A:B`

, `B:A`

)
across models for model averaging. These functions have been added to
avoid problems when users are not consistent in the specification of
interaction terms across models.

`formatCands`

creates new classes for the list of candidate
models based on the contents of the list. These new classes are used
for method dispatch.

### Value

`reverse.parm`

returns all possible combinations of an interaction
term to identify models that include the `parm`

of interest and
find the corresponding estimate and standard error in the model object.

`reverse.exclude`

returns a list of all possible combinations of
`exclude`

to identify models that should be excluded when
computing a model-averaged estimate.

`formatCands`

adds a new class to the list of candidate
models based on the classes of the models.

### Author(s)

Marc J. Mazerolle

### See Also

`aictab`

, `modavg`

, `modavgShrink`

,
`modavgPred`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ```
##a main effect
reverse.parm(parm = "Ageyoung") #does not return anything
##an interaction term as it might appear in the output
reverse.parm(parm = "Ageyoung:time") #returns the reverse
##exclude two interaction terms
reverse.exclude(exclude = list("Age*time", "A:B"))
##returns all combinations
reverse.exclude(exclude = list("Age:time", "A*B"))
##returns all combinations
##Mazerolle (2006) frog water loss example
data(dry.frog)
##setup a subset of models of Table 1
Cand.models <- list( )
Cand.models[[1]] <- lm(log_Mass_lost ~ Shade + Substrate +
cent_Initial_mass + Initial_mass2,
data = dry.frog)
Cand.models[[2]] <- lm(log_Mass_lost ~ Shade + Substrate +
cent_Initial_mass + Initial_mass2 +
Shade:Substrate, data = dry.frog)
Cand.models[[3]] <- lm(log_Mass_lost ~ cent_Initial_mass +
Initial_mass2, data = dry.frog)
formatCands(Cand.models)
``` |