grouping
Grouping Permutation

### Description

Gives ordering of elements of a set of variables, so equivalent values are contiguous.

### Usage

    grouping(...)

### Arguments

... | Any number of objects, all of which have the same length.

### Details

The permutation vector is essentially that given by order(...)). However, each character argument, arg_i, is first replaced by match(arg_i, unique(arg_i)). Also, note that if any argument arg_i has a class attribute, then it is replaced by xtfrm(arg_i), just as is done in the order function.
Value
returns the permutation vector, which is given the class "grouping." Also returns the following two attributes, which are computed from the input vectors (perhaps processed by xtfrm).

- ends: the indices of the last element of each of the groups. A group ends when at least one of the arguments, perhaps processed by xtfrm, changes value right after this point.
- maxgrpn: the maximum group size.

See Also
order, xtfrm
Examples

    grouping(c(4,5,6,4,5,5), rep(c("Old","New"),c(4,2)))
    d <- data.frame(Value=c(4,5,6,4,5,5), Which=rep(c("Old","New"),c(4,2)),
        stringsAsFactors=FALSE)
    p <- do.call(grouping, d)
    dp <- d[p,]
    dp$group <- rep(seq_along(attr(p, "ends")), diff(c(0,attr(p,"ends"))))
    dp

Package base version 6.1.5-18
Package Index