| makeNd {arrayhelpers} | R Documentation |
Ensure/collapse an array into n dimensions and restore the old dimensions
Description
nameNd ensures a given number of dimensions:
If a has less than N dimensions, new dimensions of length 1 are appended.
If a has more than N dimensions, the supernumerary dimensions are collapsed onto
the last dimension.
Attributes old.dim and old.dimnames are used by default. restoredim is the
inverse of makeNd.
Usage
makeNd(a, N)
restoredim(
a,
old = NULL,
n = 1L,
...,
usedim = TRUE,
fromend = FALSE,
drop = FALSE
)
Arguments
a |
an array (matrix, vector) |
N |
the desired number of dimensions, 0 to remove the |
old |
list containing a list with (possibly) elements |
n |
how many makeNdim steps to go back? |
... |
ignored |
usedim |
use only the specified dimensions |
fromend |
if |
drop |
should 1d arrays drop to vectors? |
Details
Note that missing attributes as well as old.dim = NULL produce a (dimensionless)
vector. This is also the case if a lost the old.* attributes during
computations like as.numeric, c, etc..
fromend together with numeric usedim specifies dimensions counting from the
end. E.g. fromend = TRUE and usedim = 1 : 3 for an array to be restored to 10d
means restoring dimensions 8 : 10. fromend = TRUE and usedim = -(1 : 3) restores
dimensions 1 to 7.
Value
N-dimensional array
an array
Author(s)
Claudia Beleites
Claudia Beleites
Examples
v <- arrayhelpers:::v
v
makeNd (v, 1)
dim (makeNd (v, 1))
dim (makeNd (v, 3))
m <- arrayhelpers:::m
m
makeNd (m, 1)
dim (makeNd (m, 1))
makeNd (m, 0)
dim (makeNd (m, 0))
makeNd (m, 3)
a <- arrayhelpers:::a
a
dim (makeNd (a, 1))
dim (makeNd (a, 0))
makeNd (a, 2)
makeNd (a, -2)
makeNd (a, -4)
makeNd (a, 3);
a <- array (1 : 24, 4 : 3)
a
restoredim (makeNd (a, 0))
x <- makeNd (a, 0)
attr (x, "old")