View source: R/sparse3Darray.R
| sparse3Darray | R Documentation |
Create a sparse representation of a three-dimensional array.
sparse3Darray(i = integer(0), j = integer(0), k = integer(0),
x = numeric(0),
dims = c(max(i), max(j), max(k)), dimnames = NULL,
strict = FALSE, nonzero = FALSE)
i, j, k |
Integer vectors of equal length (or length 1), specifying the cells in the array which have non-zero entries. |
x |
Vector (numeric, integer, logical or complex)
of the same length as |
dims |
Dimension of the array. An integer vector of length 3. |
dimnames |
Names for the three margins of the array. Either |
strict |
Logical value specifying whether to enforce the rule that
each entry in |
nonzero |
Logical value specifying whether to remove any entries
of |
An array A is three-dimensional if it is indexed by
three integer indices, so that A[i,j,k] specifies an element of
the array. The array is called sparse if only a small fraction of the
entries are non-zero. A sparse array can be represented economically
by listing only the entries which are non-zero.
The spatstat.sparse package defines the class
sparse3Darray of sparse three-dimensional arrays.
These arrays can have numeric, integer, logical, or complex
entries.
The function sparse3Darray creates an object of class
"sparse3Darray". This object is essentially a list containing
the vectors i,j,k,x and the arguments dims,dimnames.
The arguments i,j,k,x should be vectors of equal length
identifying the cells in the array which have non-zero entries (indexed
by i,j,k) and giving the values in these cells (given by x).
The default behaviour of sparse3Darray
is to accept the arguments i,j,k,x without modifying them.
This would allow some entries of x to be equal to zero,
and would allow a cell in the array to be referenced more than once
in the indices i,j,k.
If nonzero=TRUE, entries will be removed if the x value
equals zero.
If strict=TRUE, entries which refer to the same cell in the
array will be combined into a single entry by summing the x values.
An object of class "sparse3Darray".
.
as.sparse3Darray
## creation by specifying nonzero elements
M <- sparse3Darray(i=1:3, j=c(3,1,2), k=4:2,
x=runif(3), dims=rep(4, 3))
M
## duplicate entries
Mn <- sparse3Darray(i=c(1,1,2), j=c(2,2,1), k=c(3,3,2),
x=runif(3), dims=rep(3, 3))
## cumulate entries in duplicate positions
Ms <- sparse3Darray(i=c(1,1,2), j=c(2,2,1), k=c(3,3,2),
x=runif(3), dims=rep(3, 3), strict=TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.