reorder.factor {stats} | R Documentation

## Reorder Levels of a Factor

### Description

`reorder` is a generic function. Its `"factor"` method reorders the levels of a factor depending on values of a second variable, usually numeric. The `"character"` method is a convenient alias.

### Usage

    reorder(x, ...)

    ## S3 method for class 'factor':
    reorder(x, X, FUN = mean, ...,
            order = is.ordered(x))

    ## S3 method for class 'character':
    reorder(x, X, FUN = mean, ...,
            order = is.ordered(x))

### Arguments

`x` | a character vector or factor (possibly ordered) or whose levels will be reordered.
`X` | a vector of the same length as `x`, whose subset of values for each unique level of `x` determines the eventual order of that level.
`FUN` | a function whose first argument is a vector and returns a scalar, to be applied to each subset of `X` determined by the levels of `x`.
`...` | optional: extra arguments supplied to `FUN`
`order` | logical, whether return value will be an ordered factor rather than a factor.

### Value

A factor or an ordered factor (depending on the value of `order`), with the order of the levels determined by `FUN` applied to `X` grouped by `x`. The levels are ordered such that the values returned by `FUN` are in increasing order.
Additionally, the values of `FUN` applied to the subsets of `X` (in the original order of the levels of `x`) is returned as the `"scores"` attribute.

### Author(s)

Deepayan Sarkar deepayan.sarkar@r-project.org

### See Also

`reorder.dendrogram`, `levels`, `relevel`.

### Examples

    require(graphics)

    bymedian <- with(InsectSprays, reorder(spray, count, median))
    boxplot(count ~ bymedian, data = InsectSprays,
            xlab = "Type of spray", ylab = "Insect count",
            main = "InsectSprays data", varwidth = TRUE,
            col = "lightgray")

[Package stats version 2.8.1 Index]