########################################################################/**
# @RdocFunction cdfSetDimension
#
# @title "Sets the dimension of an object"
#
# \description{
# @get "title".
#
# This @function is designed to be used with @see "applyCdfGroupFields".
# }
#
# @synopsis
#
# \arguments{
# \item{field}{An R object.}
# \item{dim}{An @integer vector.}
# \item{...}{Not used.}
# }
#
# \value{
# Returns a @list structure of groups.
# }
#
# \seealso{
# @see "applyCdfGroupFields".
# }
#
# @author "HB"
#
# @keyword programming
# @keyword internal
#**/#######################################################################
cdfSetDimension <- function(field, dim, ...) {
n <- length(field);
ndim <- length(dim);
naDim <- which(is.na(dim));
if (length(naDim) > 0) {
if (length(naDim) > 1) {
stop("Cannot infer dimension. Only one of the dimension can be unknown: ", paste(dim, collapse="x"));
}
dimNA <- n / prod(dim[-naDim]);
if (dimNA %% 1 == 0) {
dim[naDim] <- dimNA;
dim(field) <- dim;
}
} else if (n == prod(dim)) {
dim(field) <- dim;
}
field;
} # cdfSetDimension()
############################################################################
# HISTORY:
# 2013-09-23
# o SPEEDUP/CLEANUP: Package now uses which() instead of whichVector()
# of 'R.utils'. Before R (< 2.11.0), which() used to be 10x slower
# than whichVector(), but now it's 3x faster.
# 2009-05-29
# o Added Rdoc comments.
# o Created.
############################################################################
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.