我想对几个基因做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是基因
答案 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)