Learn R Programming

bit64 (version 4.6.0-1)

matrix64: 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)

# S3 method for default colSums(x, na.rm = FALSE, dims = 1L)

# S3 method for integer64 colSums(x, na.rm = FALSE, dims = 1L)

rowSums(x, na.rm = FALSE, dims = 1L)

# S3 method for default rowSums(x, na.rm = FALSE, dims = 1L)

# S3 method for integer64 rowSums(x, na.rm = FALSE, dims = 1L)

# S3 method for integer64 aperm(a, perm, ...)

Arguments

x

An array of integer64 numbers.

na.rm, dims

Same interpretation as in colSums().

a, perm

Passed on to aperm().

...

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

Run this code
A = as.integer64(1:6)
dim(A) = 3:2

colSums(A)
rowSums(A)
aperm(A, 2:1)

Run the code above in your browser using DataLab