如何在R中循环chi sq test

时间:2016-09-22 19:40:40

标签: r loops chi-squared

我的表中有替代和参考等位基因计数。我怎么能在R中循环chi sq test来为每一行运行它?我附上了桌子上的照片。我需要使用altCount和refCount列执行chi sq测试。

   altCount refCount
     8        6
     3        7
     4        9 

我需要每行的p值。我是R的新手。我想出了如何对单个行执行chi sq测试,但由于我有几千行,我需要创建一个循环来同时运行它。 我做了:

bcz <- read.delim("C:/cygwin64/home/sbomb/tables/bc_z_alleles.csv")
a = bcz[1,6]
b = bcz[1,7]
c = c(a,b)
d = c(0.5,0.5)
chisq.test(
     x = c,
     p = d, 
 )

但我不知道如何为整个表循环它。能否请您解释一下如何处理所有细节?

enter image description here

1 个答案:

答案 0 :(得分:0)

初学者最简单的循环仍然是for循环:

d <- data.frame(a = c(8,3,4), b = c(6,7,9))
for(row in 1:nrow(d)){
    print(row)
    print(chisq.test(c(d[row,1],d[row,2])))
}

可以做同样的事情
apply(d, 1, chisq.test)

后者较短,并为您提供一个列表作为结果,这对于进一步评估更有利。