Perform cross-validation on an image set using eigencomponents to predict an outcome variable.

cvEigenanatomy(
  demog,
  images,
  outcome,
  ratio = 10,
  mask = NULL,
  sparseness = 0.01,
  nvecs = 50,
  its = 5,
  cthresh = 250,
  ...
)

Arguments

demog

Demographics information that includes outcome and (optional) covariates.

images

n by p input image matrix, where n is the number of subjects and p is the number of voxels.

outcome

Name of outcome variable. Must be present in demog.

ratio

If greater than 1, number of folds for cross-validation. If less than 1, one testing-training step will be performed, using ratio of the data for training and the rest for testing.

mask

Mask image of type antsImage.

sparseness

Desired level of sparsity in decomposition.

nvecs

Number of eigenvectors to use in decomposition.

its

Number of iterations for decomposition.

cthresh

Cluster threshold for decomposition.

...

Additional options passed to regressProjections.

Value

A result, or (if ratio > 1) list of results, from regressProjection.

Examples

if (FALSE) { # generate simulated outcome nsubjects <- 100 x1 <- seq(1, 10, length.out=nsubjects) + rnorm(nsubjects, sd=2) x2 <- seq(25, 15, length.out=nsubjects) + rnorm(nsubjects, sd=2) outcome <- 3 * x1 + 4 * x2 + rnorm(nsubjects, sd=1) # generate simulated images with outcome predicted # by sparse subset of voxels voxel.1 <- 3 * x1 + rnorm(nsubjects, sd=2) voxel.2 <- rnorm(nsubjects, sd=2) voxel.3 <- 2 * x2 + rnorm(nsubjects, sd=2) voxel.4 <- rnorm(nsubjects, sd=3) input <- cbind(voxel.1, voxel.2, voxel.3, voxel.4) mask <- as.antsImage(matrix(c(1,1,1,1), nrow=2)) # generate sample demographics that do not explain outcome age <- runif(nsubjects, 50, 75) demog <- data.frame(outcome=outcome, age=age) result <- cvEigenanatomy(demog, input, 'outcome', ratio=5, mask, sparseness=0.25, nvecs=4) }