我的数据如下所示:
chr1 876499 A 517 G 948 A 353 G 964
chr1 877715 C 1166 G 883 C 555 G 944
chr1 877831 T 0 C 1 T 0 C 1
chr1 878314 G 933 C 666 G 89 C 106
chr1 878331 C 983 T 166 C 994 T 505
我想通过以下所示的方式从第4,6,8和10列制作矩阵来进行Fisher精确测试:
例如第一行:
u v
X 517 948
Y 353 964
它应计算Fisher-exact p值,并将其作为新列添加到每一行。由于我新手到R我没有任何代码。任何帮助都很有价值。
感谢。
答案 0 :(得分:1)
尝试:
d.frm <- read.table(textConnection("
chr1 876499 A 517 G 948 A 353 G 964
chr1 877715 C 1166 G 883 C 555 G 944
chr1 877831 T 0 C 1 T 0 C 1
chr1 878314 G 933 C 666 G 89 C 106
chr1 878331 C 983 T 166 C 994 T 505
"))
d.frm$pval <- apply(as.matrix(d.frm[, c(4,6,8,10)]), 1,
function(x) fisher.test(matrix(x, nrow=2))$p.value)