matlab做FDR矫正
时间: 2023-07-20 20:08:14 浏览: 657
com.sas.sall.fdrpvalue.jmpaddin JMP插件FDR矫正
FDR(False Discovery Rate)矫正是一种常用的多重比较校正方法,用于控制在多次假设检验中产生的假阳性率。在MATLAB中,您可以使用以下步骤执行FDR校正:
1. 首先,您需要进行多个假设检验并计算每个检验的p值。
2. 然后,将p值按升序排序,并计算每个p值的门槛值(或阈值)。这可以通过将p值乘以总测试数除以该p值的排名来完成。
3. 接下来,将门槛值与每个p值进行比较。如果p值小于或等于门槛值,则将其视为显着性发现,否则将其视为非显着性发现。
在MATLAB中,您可以使用fdr_bh函数执行FDR矫正。该函数需要一个包含未校正p值的向量,并返回一个包含经过FDR校正的调整p值的向量。
以下是一个使用fdr_bh函数执行FDR校正的示例代码:
```
% 生成一些随机的未校正p值
p_values = rand(1,100);
% 使用fdr_bh函数执行FDR校正
[~, adjusted_p_values] = fdr_bh(p_values);
% 打印未校正和已校正的p值
disp('未校正的p值:');
disp(p_values);
disp('已校正的p值:');
disp(adjusted_p_values);
```
请注意,fdr_bh函数还可以接受一个可选参数alpha,该参数指定期望的FDR水平。如果未指定此参数,则默认为0.05。
阅读全文