Apply Functions Over Sparse Matrix Margins
Apply functions to (the cross-pairs of) the rows or columns of a sparse matrix.
rowapply_simple_triplet_matrix(x, FUN, ...) colapply_simple_triplet_matrix(x, FUN, ...) crossapply_simple_triplet_matrix(x, y = NULL, FUN, ...) tcrossapply_simple_triplet_matrix(x, y = NULL, FUN, ...)
x, y |
a matrix in |
FUN |
the name of the function to be applied. |
... |
optional arguments to |
colapply_simple_triplet_matrix
temporarily expands each column of
x
to dense vector
representation and applies the function
specified in FUN
.
crossapply_simple_triplet_matrix
temporarily expands each cross-pair
of columns of x
(and y
) to dense vector
representation
and applies the function specified in FUN
.
Note that if y = NULL
then only the entries in the lower triangle
and the diagonal are computed, assuming that FUN
is symmetric.
A vector
(matrix
) of length (dimensionality) of the margin(s)
used. The type depends on the result of FUN
.
Note that the result of colapply_simple_triplet_matrix
is never
simplified to matrix
.
Christian Buchta
apply
for dense-on-dense computations.
## x <- matrix(c(1, 0, 0, 2, 1, 0), nrow = 3, dimnames = list(1:3, LETTERS[1:2])) x s <- as.simple_triplet_matrix(x) colapply_simple_triplet_matrix(s, FUN = var) ## simplify2array(colapply_simple_triplet_matrix(s, identity)) ## crossapply_simple_triplet_matrix(s, FUN = var)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.