Fast calculation of 'z <- x OP y' and 'z <- t(t(x) OP y)'
Fast calculation of 'z <- x OP y' and 'z <- t(t(x) OP y)', where OP can be +, -, *, and /. For + and *, na.rm = TRUE will drop missing values first.
x_OP_y(x, y, OP, xrows = NULL, xcols = NULL, yidxs = NULL, commute = FALSE, na.rm = FALSE) t_tx_OP_y(x, y, OP, xrows = NULL, xcols = NULL, yidxs = NULL, commute = FALSE, na.rm = FALSE)
x |
|
y |
|
OP |
A |
xrows, xcols |
A |
commute |
If |
na.rm |
If |
idxs |
A |
... |
Not used. |
If na.rm = TRUE
, then missing values are
"dropped" before applying the operator to each pair of values. For
instance, if x[1, 1]
is a missing value, then the result of
x[1, 1] + y[1]
equals y[1]
. If also y[1]
is a missing
value, then the result is a missing value. This only applies to additions
and multiplications. For subtractions and divisions, argument na.rm
is ignored.
Henrik Bengtsson
x <- matrix(c(1, 2, 3, NA, 5, 6), nrow = 3, ncol = 2) # Add 'y' to each column y <- 1:2 z0 <- x + y z1 <- x_OP_y(x, y, OP = "+") print(z1) stopifnot(all.equal(z1, z0)) # Add 'y' to each row y <- 1:3 z0 <- t(t(x) + y) z1 <- t_tx_OP_y(x, y, OP = "+") print(z1) stopifnot(all.equal(z1, z0))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.