as.array3 {fda} | R Documentation |
Reshape a vector or array to have 3 dimensions.
Description
Coerce a vector or array to have 3 dimensions, preserving dimnames if feasible. Throw an error if length(dim(x)) > 3.
Usage
as.array3(x)
Arguments
x |
A vector or array. |
Details
1. dimx <- dim(x); ndim <- length(dimx)
2. if(ndim==3)return(x).
3. if(ndim>3)stop.
4. x2 <- as.matrix(x)
5. dim(x2) <- c(dim(x2), 1)
6. xnames <- dimnames(x)
7. if(is.list(xnames))dimnames(x2) <- list(xnames[[1]], xnames[[2]], NULL)
Value
A 3-dimensional array with names matching x
Author(s)
Spencer Graves
References
Ramsay, James O., Hooker, Giles, and Graves, Spencer (2009), Functional data analysis with R and Matlab, Springer, New York.
Ramsay, James O., and Silverman, Bernard W. (2005), Functional Data Analysis, 2nd ed., Springer, New York.
Ramsay, James O., and Silverman, Bernard W. (2002), Applied Functional Data Analysis, Springer, New York.
See Also
Examples
##
## vector -> array
##
as.array3(c(a=1, b=2))
##
## matrix -> array
##
as.array3(matrix(1:6, 2))
as.array3(matrix(1:6, 2, dimnames=list(letters[1:2],
LETTERS[3:5])))
##
## array -> array
##
as.array3(array(1:6, 1:3))
##
## 4-d array
##
# These lines throw an error because the dimensionality woud be 4
# and as.array3 only allows dimensions 3 or less.
# if(!CRAN()) {
# as.array3(array(1:24, 1:4))
# }