NaArray summarization methods
NaArray-summarization.Rd
EXPERIMENTAL!!!
The SparseArray package provides memory-efficient summarization
methods for NaArray objects. The following methods are
supported at the moment: anyNA()
, any()
, all()
,
min()
, max()
, range()
, sum()
, prod()
,
mean()
, var()
, sd()
.
More might be added in the future.
Note that these are S4 generic functions defined in base R and in the BiocGenerics package, with default methods defined in base R. This man page documents the methods defined for NaArray objects.
Details
All these methods operate natively on the NaArray representation, for maximum efficiency.
Value
See man pages of the corresponding default methods in the
base package (e.g. ?base::range
,
?base::mean
, etc...) for the value returned
by these methods.
Examples
naa <- NaArray(dim=c(4, 5, 2))
naa[c(1:2, 8, 10, 15:17, 24:26, 28, 40)] <- (1:12)*10L
naa
#> <4 x 5 x 2 NaArray> of type "integer" [nnacount=12 (30%)]:
#> ,,1
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] 10 NA NA NA 70
#> [2,] 20 NA 40 NA NA
#> [3,] NA NA NA 50 NA
#> [4,] NA 30 NA 60 NA
#>
#> ,,2
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] NA 90 NA NA NA
#> [2,] NA 100 NA NA NA
#> [3,] NA NA NA NA NA
#> [4,] 80 110 NA NA 120
#>
anyNA(naa)
#> [1] TRUE
range(naa, na.rm=TRUE)
#> [1] 10 120
sum(naa, na.rm=TRUE)
#> [1] 780
sd(naa, na.rm=TRUE)
#> [1] 36.05551
## Sanity checks:
a0 <- as.array(naa)
stopifnot(
identical(anyNA(naa), anyNA(a0)),
identical(range(naa), range(a0)),
identical(range(naa, na.rm=TRUE), range(a0, na.rm=TRUE)),
identical(sum(naa), sum(a0)),
identical(sum(naa, na.rm=TRUE), sum(a0, na.rm=TRUE)),
all.equal(sd(naa, na.rm=TRUE), sd(a0, na.rm=TRUE))
)