Fisher精确测试在多个列上运行,结果打印到单独的表中

时间:2015-07-10 03:45:26

标签: r

我正在处理一个数据框,其中包含每列SNP的病例对照状态,参与者ID和基因型数据。

caco   ID     x132267464     x132270331   ...
1      10125  0/1            0/0          ...
2      10202  0/2            0/0          ...
...

我希望对病例对照(caco)和每个snp的基因型数据进行一次Fisher精确检验,一旦运行了fisher测试,我想将P值保存到一个单独的表中。

对caco v x132267464进行了费希尔测试,p值和优势比打印到结果表的第1行,然后是caco v x132270331,p值和优势比打印到第2行,依此类推。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

实际上设法解决了我的代码看起来像这个问题

c <- 3 
i <- 1
p <- 1
data <- data.frame()

while (i < 123 ) {    

  TAB <- table(acadfull$caco, acadfull[,c])      
  ANS <- fisher.test(TAB, conf.int=T)


  c <- c+1  
  i <- i+1
  p <- p+1

  if (i==123)
  break

}

write.csv(c(snp,pos,data),"indel_results", row.names=F)