Skip to contents

Bootstrap confidence intervals and p-values for evaluating the significance/stability of the block-weight vectors produced by S/RGCCA.

Usage

rgcca_bootstrap(
  rgcca_res,
  n_boot = 100,
  n_cores = 1,
  balanced = TRUE,
  keep_all_variables = FALSE,
  verbose = TRUE
)

Arguments

rgcca_res

A fitted RGCCA object (see rgcca).

n_boot

The number of bootstrap samples (default: 100).

n_cores

The number of cores used for parallelization.

balanced

A logical value indicating if a balanced bootstrap procedure is performed or not (default is TRUE).

keep_all_variables

A logical value indicating if all variables have to be kept even when some of them have null variance for at least one bootstrap sample (default is FALSE).

verbose

A logical value indicating if the progress of the bootstrap procedure is reported.

Value

A rgcca_bootstrap object that can be printed and plotted.

n_boot

The number of bootstrap samples, returned for further use.

rgcca

The RGCCA object fitted on the original data.

bootstrap

A data.frame with the block weight vectors and loadings computed on each bootstrap sample.

stats

A data.frame of statistics summarizing the bootstrap data.frame.

Examples

# Bootstrap confidence intervals and p-values for RGCCA
data(Russett)
blocks <- list(
  agriculture = Russett[, seq(3)],
  industry = Russett[, 4:5],
  politic = Russett[, 6:8]
)

fit_rgcca <- rgcca(blocks, ncomp = 1)

boot_out <- rgcca_bootstrap(fit_rgcca, n_boot = 20, n_cores = 1,
                            verbose = TRUE)
#> Bootstrap samples sanity check...
#> OK

print(boot_out)
#> RGCCA bootstrap object obtained with 20 bootstrap samples.
plot(boot_out, type = "weight", block = 1:3, comp = 1,
     display_order = FALSE)



if (FALSE) { # \dontrun{

 # Download the dataset's package at http://biodev.cea.fr/sgcca/ and install
 # it from the package archive file.
 # You can do it with the following R commands:
 if (!("gliomaData" %in% rownames(installed.packages()))) {
   destfile <- tempfile()
   download.file(
     "http://biodev.cea.fr/sgcca/gliomaData_0.4.tar.gz", destfile
   )
   install.packages(destfile, repos = NULL, type = "source")
 }

 data("ge_cgh_locIGR", package = "gliomaData")
 blocks <- ge_cgh_locIGR$multiblocks
 Loc <- factor(ge_cgh_locIGR$y)
 levels(Loc) <- colnames(ge_cgh_locIGR$multiblocks$y)
 blocks [[3]] <- Loc


 fit_sgcca <- rgcca(blocks, response = 3,
    sparsity = c(.071, .2, 1), ncomp = 1,
   scheme = "factorial",
   verbose = TRUE
 )

 print(fit_sgcca)

 boot_out <- rgcca_bootstrap(fit_sgcca, n_boot = 50, n_cores = 2)
 plot(boot_out, block = 1:2, type = "weight",
       comp = 1, n_mark = 300000,
       display_order = FALSE)
} # }