Why mafdr works only for one threshold?

조회 수: 7 (최근 30일)
hmmaros
hmmaros 2014년 9월 9일
답변: Enrico Glerean 2016년 1월 13일
hi! i have an array of p-values and i put him in mafdr() and it works fine. when i try to threshold this array of p-values and put the new array(array with values less than a threshold) in mafdr i get this error
??? Error using ==> mtimes Inner matrix dimensions must agree.
Error in ==> mafdr>storeyFDR at 239 fdr = pi0 * v./r;
Error in ==> mafdr at 190 [fdr, q, pi0_all, pi0, cs, rs] = storeyFDR(p, lambda, bootflag);
the only threshold that works for me is 0.05!!! i use matlab 2010a...whats wrong...?

답변 (2개)

Enrico Glerean
Enrico Glerean 2016년 1월 13일
The error means that it fails to estimate the a-priori probability with the default value of Lambda [0.01:0.01:0.95].
You should specify a wider range of Lambda to run the command successfully. For example:
mafdr(p,'LAMBDA',[0.0001:0.01:0.95])
Please also note that you should not use fdr on thresholded p-values. By considering only the p values under 0.05 you are not controlling for multiple comparisons anymore and you are biasing your results (in neuroscience they often call this "double-dipping").

Sean de Wolski
Sean de Wolski 2014년 9월 9일
My guess is you've accidentally shadowed one of the earlier functions used by mafdr's storeyFDR so that it's calling your function instead of MATLAB's. This is a very common thing and is usually the cause of this type of error. Here are a few candidates, you can run which -all to tell you which one is being called and where the offending file is:
which -all sort
which -all min
which -all size
  댓글 수: 6
hmmaros
hmmaros 2014년 9월 15일
i cant find something abnormal... when i run fdr for many times,then randomly it works one time...im so confused!
Sean de Wolski
Sean de Wolski 2014년 9월 15일
Contact tech support, they can walk you through it.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Bioinformatics Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by