This page documents various functions that work for disords, and I will
add to these from time to time as I add new functions that make sense
for disord objects. Functions like sin()
and abs()
work
as expected: they take and return disord
objects with the same
hash as x
(which means that idiom like x + sin(x)
is
accepted). However, there are a few functions that are a little more
involved:
rev()
reverses its argument and returns a disord
object with a reversed hash, which ensures that rev(rev(x))==x
(and the two are consistent).
sort()
returns a vector of sorted elements (not a
disord
)
length()
returns the length of the data component of the
object
sapply(X,f)
returns a disord object which is the result of
applying f()
to each element of X
.
match(x,table)
should behave as expected but note that if
table
is a disord
, the result is not defined (because it
is not known where the elements of x
occur in table
).
Nevertheless x %in% table
is defined and returns a
disord
object.
lapply(x,f)
returns
disord(lapply(elements(x),f,...),h=hash(x))
. Note that double
square bracket extraction, as in x[[i]]
, is disallowed (see
extract.Rd
).
which()
returns a disind
object when given a
Boolean disord
unlist()
takes a disord
list, flattens it and
returns a disord
vector. It requires the recursive
flag
of base::unlist()
to be TRUE
, which it is by default,
interpreting this to mean “kill all the structure in any
sublists”. If the list comprises only length-one vectors, the
returned value retains the same hash as the argument; if not, a new
hash is generated.
diff()
is undefined for disord
objects.