Applies the multi-threshold permutation correction (MTPC) method to perform inference in graph theory analyses of brain MRI data.
Print a summary of MTPC results
mtpc(g.list, thresholds, covars, measure, con.mat, con.type = c("t", "f"),
con.name = NULL, level = c("vertex", "graph"), clust.size = 3L,
N = 500L, perms = NULL, alpha = 0.05, res.glm = NULL, long = TRUE,
...)# S3 method for mtpc
summary(object, contrast = NULL, digits = max(3L,
getOption("digits") - 2L), print.head = TRUE, ...)
A list of lists of igraph
graph objects for all
thresholds and subjects
Numeric vector of the thresholds applied to the raw connectivity matrices.
A data.table
of covariates
Character string of the graph measure of interest
Numeric matrix specifying the contrast(s) of interest; if only one contrast is desired, you can supply a vector
Character string; either 't'
or 'f'
(for t or
F-statistics). Default: 't'
Character vector of the contrast name(s); if con.mat
has row names, those will be used for reporting results (default:
NULL
)
Character string; either vertex
(default) or
graph
Integer indicating the size of "clusters" (i.e.,
consecutive thresholds for which the observed statistic exceeds the null)
(default: 3L
)
Integer; number of permutations to create (default: 5e3)
Matrix of permutations, if you would like to provide your own
(default: NULL
)
Numeric; the significance level (default: 0.05)
A list of bg_GLM
objects, as output by a previous run
of mtpc
. Useful if you want to change the cluster size without
re-running all of the GLM's and permutations (default: NULL
)
Logical indicating whether or not to return all permutation
results (default: FALSE
)
Other arguments passed to brainGraph_GLM
and/or
brainGraph_GLM_design
A mtpc
object
Integer specifying the contrast to summarize; defaults to showing results for all contrasts
Integer specifying the number of digits to display for p-values
Logical indicating whether or not to print only the first
and last 5 rows of the statistics tables (default: TRUE
)
An object of class mtpc
with some input arguments plus the
following elements:
List with length equal to the number of thresholds; each
list element is the output from brainGraph_GLM
A data.table
for all thresholds, combined from the outputs
of brainGraph_GLM
A data.table containing S.mtpc
(the max. observed
statistic), tau.mtpc
(the threshold of the max. observed
statistic), S.crit
(the critical statistic value), and
A.crit
(the critical AUC)
Numeric matrix with N
rows and number of columns
equal to the number of thresholds. Each element is the maximum statistic
for that permutation and threshold.
Numeric matrix; the permutation set applied for all thresholds (each row is a separate permutation)
This is a multi-step procedure: (steps 3-4 are the time-consuming steps)
Apply thresholds \(\tau\) to the networks, and compute network metrics for all networks and thresholds. (already done beforehand)
Compute test statistics \(S_{obs}\) for each threshold. (done by
brainGraph_GLM
)
Permute group assignments and compute test statistics for each
permutation and threshold. (done by brainGraph_GLM
)
Build a null distribution of the maximum statistic across thresholds
(and across brain regions) for each permutation. (done by
brainGraph_GLM
)
Determine the critical value, \(S_{crit}\) from the null distribution of maximum statistics.
Identify clusters where \(S_{obs} > S_{crit}\) and compute the AUC for these clusters (denoted \(A_{MTPC}\)).
Compute a critical AUC (\(A_{crit}\)) from the mean of the supra-critical AUC's for the permuted tests.
Reject \(H_0\) if \(A_{MTPC} > A_{crit}\).
Drakesmith M, Caeyenberghs K, Dutt A, Lewis G, David AS, Jones DK (2015). Overcoming the effects of false positives and threshold bias in graph theoretical analyses of neuroimaging data. NeuroImage, 118:313-333.
Other Group analysis functions: IndividualContributions
,
NBS
, brainGraph_GLM
,
brainGraph_boot
,
brainGraph_mediate
,
brainGraph_permute
Other GLM functions: GLMfit
,
brainGraph_GLM_design
,
brainGraph_GLM
# NOT RUN {
diffs.mtpc <- mtpc(g.list=g.norm, thresholds=thresholds, N=N,
covars=covars.dti, measure='E.nodal.wt', coding='effects',
con.mat=c(0, 0, 0, 0, -2), alt='greater',
binarize=c('Sex', 'Scanner'), con.name='Group 1 > Group 2')
sig.regions <- diffs.mtpc$DT[A.mtpc > A.crit]
# }
Run the code above in your browser using DataLab