2016-10-29 83 views
0

下面的代码运行使用2个矩阵作为输入并返回p值的t检验(未配对),但有人可以显示产生p.adjusted值所需的确切代码,也可以是FDR修正/调整p.values(p.adjust)如何使用p.adjust

m1 <-go_samp_matrix_data[grep(paste(input$mychooser2$left, collapse='|'), rownames(go_samp_matrix_data), ignore.case=TRUE),] 
m2 <-go_samp_matrix_data[grep(paste(input$mychooser2$right, collapse='|'), rownames(go_samp_matrix_data), ignore.case=TRUE),] 

ttestmat1<-sapply(seq(ncol(m1)), function(x) f(m1[,x], m2[,x])) 

f <- function(x,y){ 
    test <- t.test(x,y, paired=FALSE) 
    out <- data.frame(pval = sprintf("%.3f", test$p.value)) 
    return(out) 
} 
+0

它已添加一些代码,但它是一个有点不清楚是怎么回事,它的好:你不使用你的函数或ttestmat(我们也不要有M1或m2)。如果你的问题如上所述,也许最好只在你的问题中增加两个随机向量,并显示你计算调整后的p值的尝试。那么获得帮助会更容易。 – user20650

回答

0

您需要的p值向量,说p.vect。然后,你简单地包含在p.adjust()像这样:

p.adjust(p.vect, "fdr") 
+0

感谢诺亚,你的评论帮助我得到了我正在寻找的答案。 – Dave