gpt4 book ai didi

python - 如何在 Python 中实现 R 的 p.adjust

转载 作者:IT老高 更新时间:2023-10-28 21:06:28 24 4
gpt4 key购买 nike

我有一个 p 值列表,我想为 FDR 的多重比较计算调整 p 值。 .在 R 中,我可以使用:

pval <- read.csv("my_file.txt",header=F,sep="\t")
pval <- pval[,1]
FDR <- p.adjust(pval, method= "BH")
print(length(pval[FDR<0.1]))
write.table(cbind(pval, FDR),"pval_FDR.txt",row.names=F,sep="\t",quote=F )

如何在 Python 中实现此代码?这是我在 Google 的帮助下在 Python 中的可行尝试:

pvalue_list [2.26717873145e-10, 1.36209234286e-11 , 0.684342083821...] # my pvalues
pvalue_lst = [v.r['p.value'] for v in pvalue_list]
p_adjust = R.r['p.adjust'](R.FloatVector(pvalue_lst),method='BH')
for v in p_adjust:
print v

以上代码抛出 AttributeError: 'float' object has no attribute 'r' 错误。谁能帮忙指出我的问题?提前感谢您的帮助!

最佳答案

如果您希望确定您从 R 中得到了什么,您还可以表明您希望使用 R 包“stats”中的函数:

from rpy2.robjects.packages import importr
from rpy2.robjects.vectors import FloatVector

stats = importr('stats')

p_adjust = stats.p_adjust(FloatVector(pvalue_list), method = 'BH')

关于python - 如何在 Python 中实现 R 的 p.adjust,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com