cat("Create an array 'x' with a random number of dimensions:
")
maxdim <- 4
dim <- sample(3:maxdim, size=sample(2:maxdim, size=1), replace=TRUE)
ndim <- length(dim)
dimnames <- list()
for (kk in 1:ndim)
dimnames[[kk]] <- sprintf("%s%d", letters[kk], 1:dim[kk])
x <- 1:prod(dim)
x <- array(x, dim=dim, dimnames=dimnames)
cat("Array 'x':
")
print(x)
cat("Extract 'x[2:3,...]':
")
print(extract(x, "1"=2:3))
cat("Extract 'x[3,2:3,...]':
")
print(extract(x, "1"=3,"2"=2:3))
cat("Extract 'x[...,2:3]':
")
indices <- list(2:3)
names(indices) <- length(dim(x))
print(extract(x, indices=indices))
Run the code above in your browser using DataLab