Permutation test of the null hypothesis that a set of data was sampled from a symmetric distribution with a particular mean. The test is based on a t-statistic and can be applied to situations in which a one sample or paired sample/repeated measures t-test is appropriate. Note, that this test is more general than parametric t-tests in that it does not assume that the data were sampled from a Gaussian distribution.
This function can perform the test on one variable or simultaneously on multiple variables. When applying the test to multiple variables, the "tmax" method is used for adjusting the p-values of each variable for multiple comparisons (Blair & Karniski, 1993). Like Bonferroni correction, this method adjusts p-values in a way that controls the family-wise error rate. However, the permutation method will be more powerful than Bonferroni correction when different variables in the test are correlated.
Blair, R.C. & Karniski, W. (1993) An alternative method for significance testing of waveform difference potentials. Psychophysiology.
David Groppe (2023). mult_comp_perm_t1(data,n_perm,tail,alpha_level,mu,reports,seed_state) (https://www.mathworks.com/matlabcentral/fileexchange/29782-mult_comp_perm_t1-data-n_perm-tail-alpha_level-mu-reports-seed_state), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Minor change to syntax for using RandStream
Call to RandStream to get random seed would always use outdated syntax. Now it uses syntax appropriate for MATLAB R2015 and it should be backwards compatible. Let me know if this is not the case. (Thanks for finding the bug Alexa!)
Comments updated to reference new function for generating multiple comparison adjusted confidence intervals.
Function documentation updated.
Function no longer requires de2bi.m, which apparently has been discontinued. Lack of this function would produce errors when # of obs was <=12. Thanks Kielan!
Karniski reference was misspelled as "Karnisky" and has been fixed. 'alpha_level' input option and 'crit_t' and 'est_alpha' output options added.