2016-10-29 123 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