mmdt: Multi-Modal Density Test

Description Usage Arguments Value Examples

View source: R/mmdt.R

Description

This function runs the multi-modal density test (mmdt) using an mmdt object obtained from get.mmdt.obj

Usage

1
2
3
mmdt(mmdt.obj, mins = NULL, maxs = NULL, gridsize = NULL, H = NULL,
  mc.adjust = "BH", nperm = 500, parallel = TRUE, cores = 2,
  pb = TRUE)

Arguments

mmdt.obj

an mmdt object obtained using the get.mmdt.obj function.

mins

a vector giving the lower intensity bounds for each modality. If NULL, lower bounds will be set to the minimum observed value for each modality. Length of this vector should be equal to the number of modalities being analyzed.

maxs

a vector giving the upper intensity bounds for each modality. If NULL, upper bounds will be set to the maximum observed value for each modality. Length of this vector should be equal to the number of modalities being analyzed.

gridsize

is a vector giving the number of points along each dimension at which the densities should be evaluated and tested. If NULL, this value defaults to 151x151 for two modalities, 51x51x51 for three, and 21x21x21x21 for four. Must be specified manually when analyzing 4-6 modalities.

H

is the bandwidth matrix used for kernel density estimation. If NULL, a plug-in bandwidth estimator is used.

mc.adjust

is a character vector defining the multiple comparison adjustments to use. Default is "BH", which controls FDR using the Benjamini-Hochberg procedure. The additional options are: "BY", which controls FDR using the Benjamini-Yekutieli procedure, "maxt", which controls FWER using max-t correction, and "tfce", which controls FWER using threshold-free cluster enhancement. Both of the latter options use permutation to determine significance.

nperm

is an integer value that gives the number of permutations desired.

parallel

is a logical value that indicates whether the user's computer is Linux or Unix (i.e. macOS), and should run the code in parallel.

cores

if parallel = TRUE, cores is an integer value that indicates how many cores the function should be run on.

pb

is a logical value that indicates whether or not a progress bar will be shown during analysis.

Value

A list containing subject.densities (kernel density estimates for each subject), teststat.matrix (a matrix giving test statistics at each evaluated point), pval.matrix.uncorrected (a matrix giving uncorrected p-values at each evaluated point), pval.matrix.perm (a matrix giving permutation-corrected p-values at each evaluated point), evaluated.points (a matrix giving the intensity values at which the test was evaluated for each modality).

Examples

1
2
3
4
5
6
7
## Not run: 
mmdt.obj = get.mmdt.obj(masks = masks, modal1 = t1s, modal2 = flairs,
                        ids = ids, groups = groups)

mmdt.results = mmdt(mmdt.obj, mc.adjust = c("BH", "maxt"), nperm = 500,
                    parallel = TRUE, cores = 4, pb = TRUE)
## End(Not run)

jdwor/mmdt documentation built on April 7, 2021, 5:17 p.m.