matrix64 {bit64} | R Documentation |
Working with integer64 arrays and matrices
Description
These functions and methods facilitate working with integer64 objects stored in matrices. As ever, the primary motivation for having tailor-made functions here is that R's methods often receive input from bit64 and treat the vectors as doubles, leading to unexpected and/or incorrect results.
Usage
colSums(x, na.rm = FALSE, dims = 1L)
## Default S3 method:
colSums(x, na.rm = FALSE, dims = 1L)
## S3 method for class 'integer64'
colSums(x, na.rm = FALSE, dims = 1L)
rowSums(x, na.rm = FALSE, dims = 1L)
## Default S3 method:
rowSums(x, na.rm = FALSE, dims = 1L)
## S3 method for class 'integer64'
rowSums(x, na.rm = FALSE, dims = 1L)
## S3 method for class 'integer64'
aperm(a, perm, ...)
Arguments
x |
An array of integer64 numbers. |
na.rm , dims |
Same interpretation as in |
a , perm |
Passed on to |
... |
Passed on to subsequent methods. |
Details
As of now, the colSums()
and rowSums()
methods are implemented
as wrappers around equivalent apply()
approaches, because
re-using the default routine (and then applying integer64 to the
result) does not work for objects with missing elements. Ideally
this would eventually get its own dedicated C routine mimicking
that of colSums()
for integers; feature requests and PRs welcome.
aperm()
is required for apply()
to work, in general, otherwise
FUN
gets applied to a class-stripped version of the input.
Examples
A = as.integer64(1:6)
dim(A) = 3:2
colSums(A)
rowSums(A)
aperm(A, 2:1)