首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R 3.1.1中p值的局部FDR

R 3.1.1中p值的局部FDR
EN

Stack Overflow用户
提问于 2014-10-06 16:14:12
回答 1查看 1.5K关注 0票数 0

我正在试图找到一个包来计算Efron的本地FDR来进行一系列测试。我有超过1000个协变量,所以多次修正是肯定的。

查找本地FDR将看到locfdr包在CRAN上不再可用。知道为什么会被移除吗?这似乎与当地FDR的原始出版物有着最密切的关系。

我确实找到了fdrtool,但它不能从p值计算本地FDR。我发现的其他软件包在3.1.1-LocalFDR、LocalFDR、kerfdr、twilight中是不可用的。当然,所有这些包使用的方法略有不同。即使我能找到他们,该选哪一个呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-30 11:00:19

twilight包可以这样做(正如注释中所建议的那样)。它很容易使用,如下图所示,生物导体上也有相当清晰的微缩体。

首先,我们安装软件包。

代码语言:javascript
复制
# Install twilight
source("http://bioconductor.org/biocLite.R")
biocLite("twilight")

接下来,我们模拟了一些测试分数和p值.

代码语言:javascript
复制
# Simulate p p-values
set.seed(1)
p <- 10000 # Number of "genes"
prob <- 0.2 # Proportion of true alternatives

# Simulate draws from null (=0) or alternatives (=1)
null <- rbinom(p, size = 1, prob = prob) 
# Simulate some t-scores, all non-null genes have an effect of 2
t.val <- (1-null)*rt(p, df = 15) + null*rt(p, df = 15, ncp = 2)
# Compute p-values
p.val <- 2*pt(-abs(t.val), df = 15)

# Plot the results
par(mfrow = c(1,2))
hist(t.val, breaks = 70, col = "grey",
     xlim = c(-10, 10), prob = TRUE, ylim = c(0, .35))
hist(p.val, breaks = 70, prob = TRUE)

接下来,我们加载库并运行fdr分析:

代码语言:javascript
复制
library(twilight)
ans <- twilight(p.val)

我们看到,对实际替代比例的估计是相当好的:

代码语言:javascript
复制
print(1 - ans$pi0)
#[1] 0.1529
print(prob)
#[1] 0.2

包按递增顺序重新排序p值、q值和fdr值,所以我们做了一个技巧来重建原来的顺序。

代码语言:javascript
复制
o <- order(order(p.val)) 
fdr <- ans$result$fdr[o]
plot(p.val, fdr, pch = 16, col = "red", cex = .2) 

最后,我们可以把重要的与真实的交叉起来:

代码语言:javascript
复制
table(estimate = fdr < 0.5, truth = as.logical(null))
#        truth
#estimate FALSE TRUE
#   FALSE  7564 1172
#   TRUE    368  896

因此,我们有一个84.6 %的准确性在这个玩具-例子。我希望这能帮到你。twilight函数还为fdr提供了引导CIs功能,您可以在?twilight中找到它,并提供进一步的参考资料。

编辑看起来fdrtool包(它在CRAN上)实际上可以从p值计算本地fdr。在我们的例子中,我们做了以下工作:

代码语言:javascript
复制
library("fdrtool")
fdr <- fdrtool(p.val, statistic="pvalue")
fdr$lfdr # The local fdr values
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26220379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档