FDR correction matlab script

40 sec read

The following script is to determine is a channel (or voxel) survives the FDR corrected threshold. Assume you have 48 channels and you already calculated the (uncorrected) p-value of each channel. You put it into an array called p. Now you want to know which channel will survive if you do a FDR correction at q=0.05. You may simply use

fdr0(p, 0.05)

The output is an array of 48 numbers, with 1s in the channel where it survives the FDR threshold.

function y = fdr0(p, q)
% y = fdr0(p, q)
%
% to calculate whether a pvalue survive FDR corrected q
%
% p: an array of p values. (e.g. p values for each channel)
% q: desired FDR threshold (typically 0.05)
% y: an array of the same size with p with only two possible values. 0
% means this position (channel) does not survive the threshold, 1 mean it
% survives
%
% Ref:
% Genovese et al. (2002). Thresholding statistical maps in functional
% neuroimaging using the false discovery rate. Neuroimage, 15:722-786.
%
% Example:
%   y = fdr0(rand(10,1),0.5);
%
% Xu Cui
% 2016/3/14
%

pvalue = p;
y = 0 * p;

[sortedpvalue, sortedposition] = sort(pvalue);
v = length(sortedposition);
for ii=1:v
    if q*ii/v >= sortedpvalue(ii)
        y(sortedposition(ii)) = 1;
    end
end

return;



文献鸟 618 大优惠


写作助手,把中式英语变成专业英文


AI writing papers with real references


Want to receive new post notification? 有新文章通知我

第七十二期fNIRS Journal Club视频 曹家铭博士

Youtube: https://youtu.be/9mY_m7C8Z8s 优酷:https://v.youku.com/v_show/id_XNjU0MTE5NjMwNA==.html 随着近年来深
Wanling Zhu
16 sec read

第七十二期fNIRS Journal Club通知2026/6/6, 10am 曹家铭博士

随着近年来深度学习在DOT/fNIRS重建中的应用,研究者往往需要大规模地生成仿真数据,高性能的仿真和处理软件则显得尤为重要。来自澳门大学的曹家铭教授将介绍一款针对DOT的高性能光子仿真Python包
Wanling Zhu
10 sec read

第七十一期fNIRS Journal Club视频 段海军团队

Youtube: https://youtu.be/lMuG2bY4pvs 优酷:https://v.youku.com/v_show/id_XNjUyODE0NzI3Ng==.html 尽管已有成瘾
Wanling Zhu
18 sec read

Leave a Reply

Your email address will not be published. Required fields are marked *