art {ARTool} | R Documentation |

## Aligned Rank Transform

### Description

Apply the aligned rank transform to a factorial model (with optional
grouping terms). Usually done in preparation for a nonparametric analyses of
variance on models with numeric or ordinal responses, which can be done by
following up with `anova.art`

.

### Usage

```
art(
formula,
data,
rank.comparison.digits = -floor(log10(.Machine$double.eps^0.5)),
check.errors.are.factors = TRUE
)
```

### Arguments

`formula` |
A factorial formula with optional grouping terms or error
terms (but not both). Should be a formula with a single response variable
(left-hand side) and one or more terms with all interactions on the
right-hand side, e.g. |

`data` |
An optional data frame containing the variables in the model. |

`rank.comparison.digits` |
The number of digits to round aligned
responses to before ranking (to ensure ties are computed consistently). See
the |

`check.errors.are.factors` |
Should we check to ensure |

### Details

The aligned rank transform allows a nonparametric analysis of variance to be
conducted on factorial models with fixed and random effects (or repeated
measures) and numeric or ordinal responses. This is done by first aligning
and ranking the fixed effects using this function, then conducting an
analysis of variance on linear models built from the transformed data using
`anova.art`

(see 'Examples'). The model specified using this
function *must* include all interactions of fixed effects.

The `formula`

should contain a single response variable (left-hand
side) that can be numeric, an ordered factor, or logical. The right-hand
side of the formula should contain one or more fixed effect factors, zero or
more grouping terms, and zero or more error terms. Error terms and grouping
terms cannot be used simultaneously. All possible interactions of the fixed
effect terms must be included. For example, `y ~ x`

and ```
y ~
a*b*c
```

and `y ~ a + b + b:c`

are legal, but `y ~ a + b`

is not, as
it omits the interaction `a:b`

. Grouping terms are specified as in
`lmer`

, e.g. `y ~ a*b*c + (1|d)`

includes the random
intercept term `(1|d)`

. Error terms are specified as in
`aov`

, e.g. `y ~ a*b*c + Error(d)`

. Grouping terms and
error terms are not involved in the transformation, but are included in the
model when ANOVAs are conducted, see `anova.art`

.

For details on the transformation itself, see Wobbrock *et al.* (2011)
or the ARTool website: https://depts.washington.edu/acelab/proj/art/.

### Value

An object of class `"art"`

:

`call` |
The call used to generate the transformed data. |

`formula` |
The formula used to generate the transformed data. |

`cell.means` |
A data frame of cell means for each fixed term and interaction on the right-hand side of formula. |

`estimated.effects` |
A data frame of estimated effects for each fixed term and interaction on the right-hand side of formula. |

`residuals` |
A vector of residuals (response - cell mean of highest-order interaction). |

`aligned` |
A data frame of aligned responses for each fixed term and interaction on the right-hand side of formula. |

`aligned.ranks` |
A data frame of aligned and ranked responses for each fixed term and interaction on the right-hand side of formula. |

`data` |
The input data frame |

`n.grouping.terms` |
The number of grouping variables in the input formula. |

For a complete description of cell means, estimated effects, aligned ranks,
etc., in the above output, see Wobbrock *et al.* (2011).

### Author(s)

Matthew Kay

### References

Wobbrock, J. O., Findlater, L., Gergle, D., and Higgins, J. J.
*ARTool*. https://depts.washington.edu/acelab/proj/art/.

Wobbrock, J. O., Findlater, L., Gergle, D., and Higgins, J. J.
(2011). The aligned rank transform for nonparametric factorial analyses
using only ANOVA procedures. *Proceedings of the ACM Conference on
Human Factors in Computing Systems (CHI '11)*. Vancouver, British Columbia
(May 7–12, 2011). New York: ACM Press, pp. 143–146. doi: 10.1145/1978942.1978963

### See Also

`summary.art`

, `anova.art`

,
`artlm`

, `artlm.con`

, `art.con`

.

### Examples

```
data(Higgins1990Table5, package = "ARTool")
## perform aligned rank transform
m <- art(DryMatter ~ Moisture*Fertilizer + (1|Tray), data=Higgins1990Table5)
## see summary data to ensure aligned rank transform is appropriate for this data
summary(m)
## looks good (aligned effects sum to 0 and F values on aligned responses
## not of interest are all ~0)
## we can always look at the anova of aligned data if we want more detail
## to assess the appropriateness of ART. F values in this anova should all
## be approx 0.
anova(m, response="aligned")
## then we can run an anova on the ART responses (equivalent to anova(m, response="art"))
anova(m)
## if we want contrast tests, we can use art.con():
## Ex 1: pairwise contrasts on Moisture:
art.con(m, "Moisture")
## Ex 2: pairwise contrasts on Moisture:Fertilizer:
art.con(m, "Moisture:Fertilizer")
## Ex 3: difference-of-difference tests on the Moisture:Fertilizer interaction:
art.con(m, "Moisture:Fertilizer", interaction = TRUE)
## The above three examples with art.con() can be constructed manually as well.
## art.con() extracts the appropriate linear model and conducts contrasts
## using emmeans(). If we want to use a specific method for post-hoc tests
## other than emmeans(), artlm.con(m, term) returns the linear model for the
## specified term which we can then examine using our preferred method
## (emmeans, glht, etc). The equivalent calls for the above examples are:
library(emmeans)
## Ex 1: pairwise contrasts on Moisture:
contrast(emmeans(artlm.con(m, "Moisture"), pairwise ~ Moisture))
## Ex 2: pairwise contrasts on Moisture:Fertilizer:
## See artlm.con() documentation for more details on the syntax, specifically
## the formula passed to emmeans.
contrast(emmeans(artlm.con(m, "Moisture:Fertilizer"), pairwise ~ MoistureFertilizer))
## Ex 3: difference-of-difference tests on the Moisture:Fertilizer interaction:
## Note the use of artlm() instead of artlm.con()
contrast(
emmeans(artlm(m, "Moisture:Fertilizer"), ~ Moisture:Fertilizer),
method = "pairwise", interaction = TRUE
)
## For a more in-depth explanation and example of contrasts with art and
## differences between interaction types, see vignette("art-contrasts")
```

*ARTool*version 0.11.1 Index]