R/lmerCluster.R
lmerCluster.Rd
This function is able to run a LME using the lmer() function. All clusters or region of interest must be labeled with integers in the mask passed as an argument. The function relies on lmerTest to create p-values using the Satterthwaite Approximation.
lmerCluster(image, mask, fourdOut = NULL, formula, subjData, mc.preschedule = TRUE, ncores = 1, ...)
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. All clusters must be labeled with integers in the mask passed as an argument |
fourdOut | To be passed to mergeNifti, This is the path and file name without the suffix to save the fourd file. Default (NULL) means script won't write out 4D image. |
formula | Must be a formula passed to lmer() |
subjData | Dataframe containing all the covariates used for the analysis |
mc.preschedule | Argument 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 lmer() |
Returns list of models fitted to the mean voxel intensity a region or interest.
image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25))) mask <- oro.nifti::nifti(img = array(c(rep(0,14),1,2), dim = c(4,4,4,1))) set.seed(1) covs <- data.frame(x = runif(25), id = rep(1:5,5)) fm1 <- "~ x + (1|id)" models <- lmerCluster(image, mask, formula = fm1, subjData = covs, ncores = 1, REML=TRUE)#> [1] "Created meanCluster Matrix" #> [1] "Created formula list" #> [1] "Running test model"#>#> [1] "Running parallel models"#>#>#> elapsed #> 0.09 #> [1] "Parallel Models Ran"