uniqueL: A Reversable Version of unique()

View source: R/misc-goodies.R

uniqueLR 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), need.sort = is.unsorted(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.

need.sort

logical indicating if x is not yet sorted. Note that this argument exists only for speedup possibility when it is known, and that it must be set correctly.

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

Duplicated from the sfsmisc package in addition to the standard unique and duplicated.

Examples

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


sfsmisc documentation built on Aug. 10, 2023, 5:06 p.m.