fdrtool

https://cran.r-project.org/web/packages/fdrtool/index.html

https://github.com/cran/fdrtool/blob/master/R/fdrtool.R

https://www.rdocumentation.org/packages/fdrtool/versions/1.2.15/topics/pvalues

https://rdrr.io/cran/fdrtool/man/pvalues.html

https://www.jianshu.com/p/16d160afd140

if ( length(x) < 200 ) warning("There may be too few input test statistics for reliable FDR calculations!")

 

library("fdrtool")  #  load fdrtool library

data(pvalues)  #  load data set

fdrtool(pvalues, statistic="pvalue")   # estimate density and distribution function, # and compute corresponding (local) false discovery rates

 

fdr$qval # estimated Fdr values
fdr$lfdr#estimated local fdr

 

其中x是指多重检验得到的P值、z统计量或者t统计量,亦或是相关性系数;statistic与前面x的类型对应,其中z统计量或者t统计量对应“normal”,相关性系数对应“correlation”,多重检验得到的P值对应“pvalue”;plot指是否画图;color.figure指画图中是否用颜色区分;verbose指是否显示计算的过程描述;cutoff.method是指选择一种取分界点的方法;pct0这个参数,只有当cutoff.method取“pct0”时才管用。

函数介绍:

该函数计算的基本思想就是使用经验贝叶斯方法,假设研究的对象分为两部分(null, non-null),可理解为显著和不显著两部分,从二者的混合分布中计算出null部分所占的比例。此外,开发该包的作者集成了多种方法,可分析的对象种类比较多,使其使用起来也比较方便。


由于我们输入的是多重检验得到的P值,所以对应的statistic选择了“pvalue”。从结果中可以发现,该方法可以得出全局FDR值,保存在qval对象中,也可以得到局部FDR值,保存在lfdr对象中,分别可以运行如下代码进行提取和查看其中的数值:
与此同时,该函数还画出了对应的结果图形
从上到下来看这个结果,图形的题目告诉我们选用的是哪类分析对象,并给出null部分占比的估计值(eta0);第一行的图是展现概率密度的柱状分布图以及两份拟合的概率分布图;第二行展现了对应的累计概率密度分布函数;第三行展现了估计的全局FDR和局部FDR的分布。
posted @ 2020-01-02 10:43  HISAK  阅读(931)  评论(0)    收藏  举报