Fisher对每个基因的精确检验

时间:2018-12-10 13:33:34

标签: r

我想对几个基因做rna seq数据,在对照和治疗中进行了测试。 做fisher.test我需要每个基因的列联表,有没有办法在R中做到这一点,而不是为每个基因计算列联表? 我是新来的,所以任何建议都可以帮上忙。

我有计数数据和样本信息数据,

                control1 treated1 control2 treat2 control3 treat3
ENSG00000000003        723        486        904        445       1170       1097  
ENSG00000000005          0          0          0          0          0          0 
ENSG00000000419        467        523        616        371        582        781 

其中ENSG是基因

1 个答案:

答案 0 :(得分:1)

读取数据:

dd <- read.table(header=TRUE,text="
              control1 treated1 control2 treat2 control3 treat3
ENSG00000000003        723        486        904        445       1170       1097  
ENSG00000000005          0          0          0          0          0          0 
ENSG00000000419        467        523        616        371        582        781 
")

运行for循环,并采取一些保护措施:

results <- list()
for (i in 1:nrow(dd)) {
    m <- matrix(unlist(dd[i,]),nrow=2)
    if (any(m>0)) {
       results[[i]] <- fisher.test(m)
    } else {
        results[[i]] <- NA
    }
}
names(results) <- rownames(dd)