我想模拟不同类型的多重测试更正的效果,例如Bonferroni
,Fisher's LSD
,DUncan
,Dunn-Sidak Newman-Keuls
,Tukey
等。 .. Anova
。
我想我应该简单地运行常规Anova
。然后接受我使用p.value
计算的重要p.adjust
s。但我不知道这个p.adjust
函数是如何工作的。可以给我一些关于p.adjust()
的见解吗?
:
> p.adjust(c(0.05,0.05,0.1),"bonferroni")
# [1] 0.15 0.15 0.30
有人可以解释这是什么意思吗?
感谢您的回答。我有点了解这一切。但我仍然不理解p.adjust的输出。我希望......
P.adjust(0.08, '邦费罗尼',N = 10)
...将返回0.008而不是0.8。 n = 10并不意味着我正在进行10次比较。并且不是0.08“原始alpha”(我的意思是如果我进行一次简单的比较,我会用来拒绝NULL假设的阈值)
答案 0 :(得分:4)
您必须阅读每种多重测试校正技术,无论是False Discovery Rate (FDR)
还是Family-Wise Error Rate (FWER
)。 (感谢@thelatemail指出要扩展缩写)。
Bonferroni更正通过将显着性级别FWER
设置为alpha
来控制alpha/n
,其中n
是典型多重比较中测试的假设数量(此处为{{1} }})。
假设您正在测试5%alpha。如果你的p值是< 0.05,然后你拒绝你的NULL。对于n=3
,然后,对于Bonferroni校正,您可以将n=3
除以3 = 0.05 / 3~0.0167,然后检查您的p值是否为< 0.0167。
等效(直接明显),而不是检查alpha
,您可以将pval < alpha/n
带到另一边n
。因此pval * n < alpha
保持相同的值。因此,您的p值乘以alpha
,然后检查它们是否&lt;例如,alpha = 0.05。
因此,您获得的输出是3
,如果这是&lt; alpha(5%说),然后你会拒绝NULL,否则你会接受NULL假设。
对于每个测试,由于多次测试,有不同的程序来控制误报。维基百科可能是一个很好的起点,可以了解其他关于如何纠正控制误报的测试。
但是,FWER controlled p-value
的输出一般会给出p.adjust
。在Bonferroni的情况下,它是FWER控制的p值。在BH方法的情况下,它是FDR校正的p值(或者也称为q值)。
希望这有点帮助。