Skip to contents

This is a convenience function for making data.frames that are easily indexed on a block-wise basis.

Usage

block.data.frame(X, block_inds = NULL, to.matrix = TRUE)

Arguments

X

Either a single data.frame to index or a list of matrices/data.frames

block_inds

Named list of indexes if X is a single data.frame, otherwise NULL.

to.matrix

logical indicating if input list elements should be converted to matrices.

Value

A data.frame which can be indexed block-wise.

See also

Main methods: asca, apca, limmpca, msca, pcanova, prc and permanova. Workhorse function underpinning most methods: hdanova. Extraction of results and plotting: asca_results, asca_plots, pcanova_results and pcanova_plots

Examples

# Random data
M <- matrix(rnorm(200), nrow = 10)
# .. with dimnames
dimnames(M) <- list(LETTERS[1:10], as.character(1:20))

# A named list for indexing
inds <- list(B1 = 1:10, B2 = 11:20)

X <- block.data.frame(M, inds)
str(X)
#> 'data.frame':	10 obs. of  2 variables:
#>  $ B1: 'AsIs' num [1:10, 1:10] 0.4314 -0.9009 0.0679 -0.999 -0.4874 ...
#>   ..- attr(*, "dimnames")=List of 2
#>   .. ..$ : chr [1:10] "A" "B" "C" "D" ...
#>   .. ..$ : chr [1:10] "1" "2" "3" "4" ...
#>  $ B2: 'AsIs' num [1:10, 1:10] -0.637 0.485 -0.538 -0.166 -0.252 ...
#>   ..- attr(*, "dimnames")=List of 2
#>   .. ..$ : chr [1:10] "A" "B" "C" "D" ...
#>   .. ..$ : chr [1:10] "11" "12" "13" "14" ...