uniqueL {sfsmisc}R Documentation

A Reversable Version of unique()

Description

A version of unique keeping enough information to reverse (or invert) to the original data.

Usage

uniqueL(x, isuniq = !duplicated(x))

Arguments

x numeric vector, of length n, say.
isuniq logical vector of the same length as x. For the reversion to work this should select at least all unique values of x.

Value

list of two components,

ix integer vector of indices
xU vector of values from x

such that both x[isuniq] === xU and xU[ix] === x.

Author(s)

Martin Maechler

See Also

unique, duplicated.

Examples

 x0 <- c(1:3,2:7,8:4)
 str(r0 <- uniqueL(x0))
 with(r0, xU[ix]) ## == x0 !


[Package sfsmisc version 1.0-4 Index]