tanova: Topographical ANOVA (TANOVA) and related methods

Description Usage Arguments Details Value Note References See Also Examples

View source: R/anova.R

Description

tanova performs point-to-point topographical ANOVA on arrays. Related methods are GFP-analysis (which is based on the intensity of the signal) and DISS-analysis (focusing only on the global dissimilarity by comparing normalized topographies). See References for further details.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
tanova(
  .arraydat,
  factordef,
  bwdat = NULL,
  type = c("both", "topography", "intensity"),
  verbose = TRUE,
  perm = TRUE,
  parallel = NULL,
  seed = NULL,
  pcrit = 0.05
)

Arguments

.arraydat

a numeric array with named dimnames containing the EEG (or other) data. Missing values are not allowed.

factordef

a named list of factor definitions, containing the following elements:

  • between: character vector of between-subject factors (default: NULL)

  • within: character vector of within-subject factors (default: NULL)

  • w_id: name of the dimension which identifies the subjects (default: "id")

bwdat

a data.frame which contains the identification codes (factordef$w_id) and all subject-level variables (usually factors) listed in 'factordef$between'. Missing values are not allowed.

type

a character value of "both" (default), "topography", or "intensity". For "both", the analysis is based on the raw amplitude maps, and thereby, it is sensitive to both topographic and intensity differences between the conditions. For "topography", the analysis is based on the normalized maps, thereby, it can reveal topographic differences. For "intensity", only the intensity (as measured by the GFP) of the scalp maps is analyzed.

verbose

logical value indicating if p-values should be computed

perm

either 1) NULL or FALSE (the same as NULL), both of which mean no permutation, or 2) TRUE, which means permutation with default parameters (the default), or 3) an object as returned by permParams with custom parameters (see Examples and also permParams).
Custom parameters can be also provided by perm = .(key = value) to save typing (this works by calling permParams with the given parameters).

parallel

either 1) NULL (the default) or FALSE (the same as NULL), both of which mean single-core computation, or 2) TRUE, which means parallelization with default parameters, or 3) an object as returned by parallelParams with custom parameters (see Examples and also parallelParams).
Custom parameters can be also provided by parallel = .(key = value) to save typing (this works by calling parallelParams with the given parameters).

seed

an integer value which specifies a seed (default: NULL), or a list of arguments passed to set.seed

pcrit

the significance level (or a vector of multiple levels) for the minimum duration correction (default: 0.05)

Details

The function assumes that the input array contains at least two named dimensions: chan (corresponding to the channels [electrodes]) and time (corresponding to time points). All dimensions which are not listed as within-subject factors are treated in a similar way as chan and time, that is separate TANOVA-s are computed for each level of those dimensions.

Value

A list object with z-scores and raw effect statistics, and uncorrected and corrected p-values.

Note

The function computes type I p-values - this is correct if the design is fully balanced and orthogonal (if the number of between-subject factors is one, it may have slightly unequal group sizes).

References

Koenig, T., Melie-Garcia, L. (2009) Statistical analysis of multichannel scalp field data. In: Michel, C.M., Koenig, T., Brandeis, D., Gianotti, L.R.R., Wackermann, J. (eds) Electrical neuroimaging. Cambridge University Press
See also the MATLAB toolbox by Koenig T, Kottlow M, Stein M, Melie-Garcia L (2011) Ragu: A free tool for the analysis of EEG and MEG event-related scalp field data using global randomization statistics. Computational Intelligence and Neuroscience, 2011:938925 See also

See Also

See also the related methods to explore the results, e.g. extract.tanova, summary.tanova, and the plotting function modelplot.tanova.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# example dataset
data(erps)
dat_id <- attr(erps, "id") # to get group memberships

# average the data in each 12 ms time-bin to decrease the computational
# burden (not needed in serious analyses)
tempdat <- avgBin(erps, "time", 6)

# Analyze the effect of the reading group (between-subject factor) and the
# two experimental conditions (stimclass, pairtye; within-subject factors)
# for each channel and time sample, taking into account both intensity and
# distributional differences (the default: type = "tanova")
# Note that the number of permutations should be increased for serious
# purposes (here we use the default: 999L).
result_tanova <- tanova(tempdat,
                        list(between = "group",
                             within = c("stimclass", "pairtype"),
                             w_id = "id"),
                        bwdat = dat_id,
                        parallel = .(ncores = 2))

# plot results (for now, only p-values and only for time > 0)
modelplot(result_tanova, what = "p", time_window = c(0, Inf))

tdeenes/eegR documentation built on April 19, 2021, 4:17 p.m.