1
我使用以下方法從fiser精確測試中獲取p值。但是,我確實需要爲每一對打印值「n00,n01,n10,n11」。我如何將它打印爲表格而不是如下所示的矩陣以及p值?R:如何使用多個參數打印表格
fish <- function(y, x) {
n00 = sum((1-x)*(1-y))
n01 = sum((1-x)*y)
n10 = sum(x*(1-y))
n11 = sum(x*y)
a = matrix(c(n00, n01, n10, n11)
, nrow = 2)
pval = fisher.test(a)$p.value
return(pval)
}
chiArray <- function(x) apply(mat1, 1, fish, x)
sapply(1:nrow(mat2), function(j) chiArray(mat2[j, ]))
chisq.cna.mut.test <- sapply(1:nrow(mat2), function(j) chiArray(mat2[j, ]))
我想輸出是:
# name1_mat1 name1_mat2 n00 n01 n10 n11 pvalue
# name1_mat1 name2_mat2 n00 n01 n10 n11 pvalue
的輸入是(MAT1)和本實施例的目的,考慮到MAT2是相同的MAT1。通過這個方式
# ID case1 case2 case3
# name1 0 0 0
# name2 1 0 1
# name3 0 1 1
您能否提供可重現的示例並更好地格式化預期結果? –
嗨羅馬,我按照你的建議編輯了我的帖子。輸入是一個二進制矩陣(0和1)。而我想成爲一個向量的輸出,而不是隻使用「sapply」函數的pvalues的矩陣 – user2308154
您好@ user2308154,如果您認爲您的問題得到了令人滿意的回答,請您考慮接受下面的答案嗎? :-) –