1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
\name{NaArray-summarization}
\alias{NaArray-summarization}
\alias{NaArray_summarization}
\alias{anyNA,NaArray-method}
\alias{range.NaArray}
\alias{range,NaArray-method}
\alias{mean.NaArray}
\alias{mean,NaArray-method}
\alias{var,NaArray,ANY-method}
\alias{sd,NaArray-method}
\title{NaArray summarization methods}
\description{
EXPERIMENTAL!!!
The \pkg{SparseArray} package provides memory-efficient summarization
methods for \link{NaArray} objects. The following methods are
supported at the moment: \code{anyNA()}, \code{any()}, \code{all()},
\code{min()}, \code{max()}, \code{range()}, \code{sum()}, \code{prod()},
\code{mean()}, \code{var()}, \code{sd()}.
More might be added in the future.
Note that these are \emph{S4 generic functions} defined in base R
and in the \pkg{BiocGenerics} package, with default methods defined
in base R. This man page documents the methods defined for
\link{NaArray} objects.
}
\details{
All these methods operate \emph{natively} on the \link{NaArray}
representation, for maximum efficiency.
}
\value{
See man pages of the corresponding default methods in the
\pkg{base} package (e.g. \code{?base::\link[base]{range}},
\code{?base::\link[base]{mean}}, etc...) for the value returned
by these methods.
}
\seealso{
\itemize{
\item \link{NaArray} objects.
\item The man pages of the various default methods defined in
the \pkg{base} package e.g. \code{base::\link[base]{range}},
\code{base::\link[base]{mean}}, \code{base::\link[base]{anyNA}},
etc...
}
}
\examples{
naa <- NaArray(dim=c(4, 5, 2))
naa[c(1:2, 8, 10, 15:17, 24:26, 28, 40)] <- (1:12)*10L
naa
anyNA(naa)
range(naa, na.rm=TRUE)
sum(naa, na.rm=TRUE)
sd(naa, na.rm=TRUE)
## 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))
)
}
\keyword{array}
\keyword{methods}
\keyword{algebra}
\keyword{arith}
|