Learn R Programming

voxel (version 1.3.5)

anovagammVoxel: Computes voxelwise analysis of variance (ANOVA) tables for a Generalized Additive Mixed Effects Model.

Description

This function computes analysis of variance tables for the fitted Generalized Additive Mixed Effects (from gamm4::gamm4) models. The analysis will run in all voxels in the specified mask and will return a list with the ANOVA table at each voxel. Please check the mgcv::anova.gam documentation for further information about specific arguments used in anova.gam. Multi-model calls are disabled.

Usage

anovagammVoxel(image, mask, fourdOut = NULL, formula, randomFormula, subjData,
  dispersion = NULL, freq = FALSE, mc.preschedule = TRUE, ncores = 1,
  ...)

Arguments

image

Input image of type 'nifti' or vector of path(s) to images. If multiple paths, the script will call mergeNifti() and merge across time.

mask

Input mask of type 'nifti' or path to mask. Must be a binary.

fourdOut

To be passed to mergeNifti, This is the output path to write out the fourd file. Do not include a suffix (i.e. .nii.gz). Default (NULL) means script won't write out 4D image.

formula

Must be a formula passed to gamm4()

randomFormula

Random effects formula passed to gamm4()

subjData

Dataframe containing all the covariates used for the analysis

dispersion

To be passed to mgcv::anova.gam, Defaults to NULL. Dispersion Parameter, not normally used.

freq

To be passed to mgcv::anova.gam, Defaults to FALSE. Frequentist or Bayesian approximations for p-values

mc.preschedule

To be passed to mclapply, whether or not to preschedule the jobs. More info in parallel::mclapply

ncores

Number of cores to use

...

Additional arguments passed to gamm4()

Value

Returns list of models fitted to each voxel over the masked images passed to function.

Examples

Run this code
# NOT RUN {

image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25)))
mask <- oro.nifti::nifti(img = array(data = c(rep(0,15), rep(1,1)),
                                     dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25), y=runif(25), id = rep(1:5,5))
f1 <- "~ s(x) + y"
randomFormula <- "~(1|id)"
models <- anovagammVoxel(image, mask, formula = f1,
                              randomFormula = randomFormula,
                              subjData = covs, ncores = 1, REML=TRUE)
# }

Run the code above in your browser using DataLab