# Tapply

##### Apply a Function to a Variable Within Factor Levels

Applies a function, typically to compute a single statistic, like a mean, median, or standard deviation,
within levels of a factor or within combinations of levels of two or more factors to produce a table of statistics. This function provides
a formula interface to the standard R `tapply`

function.

##### Usage

`Tapply(formula, fun, data, na.action = na.pass, ..., targs = list())`

##### Arguments

- formula
a two-sided formula of the form

`variable ~ factor.1 + factor.2 + ... + factor.n`

or, equivalently,`variable ~ factor.1*factor.2* ... *factor.n`

. The variables on the right-hand side of the formula are normally factors or are otherwise coerced to factors.- fun
a function, like

`mean`

,`median`

, or`sd`

, that takes a vector first argument and typically returns a single number as its value.- data
an optional data frame within which to find the variable and factor(s).

- na.action
a function to handle missing values, as in statistical modeling functions like

`lm`

; the default is`na.pass`

.- …
arguments to pass to the function given in the

`fun`

argument, such as (commonly)`na.rm=TRUE`

.- targs
a list of optional arguments to pass to

`tapply`

.

##### Details

The function given by `fun`

is applied to the values of the left-hand-side variable in `formula`

within
(combination of) levels of the factor(s) given in the right-hand side of `formula`

, producing a table of statistics.

##### Value

The object returned by `tapply`

, typically simply printed.

##### References

Fox, J. and Weisberg, S. (2019)
*An R Companion to Applied Regression*, Third Edition. Sage.

##### See Also

##### Examples

```
# NOT RUN {
Tapply(conformity ~ partner.status + fcategory, mean, data=Moore)
Tapply(conformity ~ partner.status + fcategory, mean, data=Moore,
trim=0.2)
Moore[1, 2] <- NA
Tapply(conformity ~ partner.status + fcategory, mean, data=Moore)
Tapply(conformity ~ partner.status + fcategory, mean, data=Moore,
na.rm=TRUE)
Tapply(conformity ~ partner.status + fcategory, mean, data=Moore,
na.action=na.omit) # equivalent
remove("Moore")
# }
```

*Documentation reproduced from package car, version 3.0-3, License: GPL (>= 2)*