uniques: apply unique to each element of a list

uniquesR Documentation

apply unique to each element of a list

Description

Apply unique to each element of a list, usually a list of vectors

Usage

uniques(
  x,
  keepNames = TRUE,
  incomparables = FALSE,
  useBioc = TRUE,
  useSimpleBioc = FALSE,
  xclass = NULL,
  ...
)

Arguments

x

input list of vectors

keepNames

boolean indicating whether to keep the list element names in the returned results.

incomparables

see unique() for details, this value is only sent to S4Vectors::unique() when the Bioconductor package S4Vectors is installed, and is ignored otherwise for efficiency.

useBioc

boolean indicating whether this function should try to use S4Vectors::unique() when the Bioconductor package S4Vectors is installed, otherwise it will use a somewhat less efficient bulk operation.

Details

This function will attempt to use S4Vectors::unique() which is substantially faster than any apply family function, especially for very long lists. However, when S4Vectors is not installed, it applies uniqueness to the unlisted vector of values, which is also substantially faster than the apply family functions for long lists, but which may still be less efficient than the C implementation provided by S4Vectors.

Value

list with unique values in each list element.

See Also

Other jam string functions: asSize(), breaksByVector(), cPasteSU(), cPasteS(), cPasteUnique(), cPasteU(), cPaste(), fillBlanks(), formatInt(), gsubOrdered(), gsubs(), makeNames(), mixedOrder(), mixedSortDF(), mixedSorts(), mixedSort(), mmixedOrder(), nameVectorN(), nameVector(), padInteger(), padString(), pasteByRowOrdered(), pasteByRow(), sizeAsNum(), tcount(), ucfirst()

Other jam list functions: cPasteSU(), cPasteS(), cPasteUnique(), cPasteU(), cPaste(), heads(), jam_rapply(), list2df(), mergeAllXY(), mixedSorts(), rbindList(), relist_named(), rlengths(), sclass(), sdim(), unnestList()

Examples

L1 <- list(CA=nameVector(LETTERS[c(1:4,2,7,4,6)]),
   B=letters[c(7:11,9,3)],
   D=nameVector(LETTERS[4]));
L1;
uniques(L1);

if (1 == 1) {
if (suppressWarnings(suppressPackageStartupMessages(require(IRanges)))) {
   printDebug("Bioc CompressedList:");
   print(system.time(uniques(rep(L1, 10000), useBioc=TRUE)));
}
if (suppressWarnings(suppressPackageStartupMessages(require(S4Vectors)))) {
   printDebug("Bioc SimpleList:");
   print(system.time(uniques(rep(L1, 10000), useSimpleBioc=TRUE)));
}
printDebug("Simple list, keepNames=FALSE:");
print(system.time(uniques(rep(L1, 10000), useBioc=FALSE, keepNames=FALSE)));
printDebug("Simple list, keepNames=TRUE:");
print(system.time(uniques(rep(L1, 10000), useBioc=FALSE, keepNames=TRUE)));
}


jmw86069/jamba documentation built on Oct. 9, 2024, 10:52 a.m.