我有一个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 )
Run Code Online (Sandbox Code Playgroud)
如何在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
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出了一个AttributeError: 'float' object has no attribute 'r'错误.任何人都可以帮助指出我的问题吗?在此先感谢您的帮助!