我有一个p值的单元格数组,必须进行调整以进行多次比较.我怎么能在Matlab中做到这一点?我找不到内置功能.
RI会做:
data.pValue_adjusted = p.adjust(data.pValue, method='bonferroni')
Run Code Online (Sandbox Code Playgroud)
Matlab有类似的功能吗?理想情况下,执行不同的调整方法(Bonferroni,Benjamini-Hochberg,FDR ...)?
此提交可能正是您正在寻找的内容,但它仅实现了 Bonferroni-Holm 方法。您必须在 FEX 中搜索与其他校正方法类似的解决方案。
也就是说,Statistics Toolbox 具有MULTCOMPARE方法,该方法专为多重比较测试而设计,尽管它不返回更正的 p 值。这是一个例子:
load fisheriris
[pVal tbl stats] = kruskalwallis(meas(:,1), species) %# Kruskal-Wallis or ANOVA
title('Sepal Length'), xlabel('Groups'), ylabel('Value')
[c,m] = multcompare(stats, 'ctype','bonferroni', 'display','on');
Run Code Online (Sandbox Code Playgroud)