order {BiocGenerics} | R Documentation |
order
returns a permutation which rearranges its first argument
into ascending or descending order, breaking ties by further
arguments.
NOTE: This man page is for the order
S4 generic function
defined in the BiocGenerics package.
See ?base::order
for the default method
(defined in the base package).
Bioconductor packages can define specific methods for objects
(typically vector-like) not supported by the default method.
order(..., na.last=TRUE, decreasing=FALSE)
... |
One or more vector-like R objects, all of the same length. |
na.last, decreasing |
See |
The default method (see ?base::order
) returns
an integer vector of length N where N is the common length of the
input objects. This integer vector represents a permutation of N
elements and can be used to rearrange the first argument in
...
into ascending or descending order (by subsetting it).
Specific methods defined in other Bioconductor packages must also return an integer vector representing a permutation of N elements.
TO DEVELOPPERS: Here are 2 common pitfalls when implementing an
order
method:
order(x, decreasing=TRUE)
is not equivalent
to rev(order(x))
;
It should be made "stable" for consistent behavior across platforms
and consistency with base::order()
. Note that C qsort() is
not "stable" so order
methods that use qsort() at
the C-level need to ultimately break ties by position (this is
generally done by adding a little extra code at the end of the
comparison function used in the calls to qsort()).
base::order
for the default order
method.
showMethods
for displaying a summary of the
methods defined for a given generic function.
selectMethod
for getting the definition of
a specific method.
order,Ranges-method in the IRanges package for the method defined for Ranges objects.
BiocGenerics for a summary of all the generics defined in the BiocGenerics package.
order showMethods("order") selectMethod("order", "ANY") # the default method