我的表中有替代和参考等位基因计数。我怎么能在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,
)
但我不知道如何为整个表循环它。能否请您解释一下如何处理所有细节?
答案 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)
后者较短,并为您提供一个列表作为结果,这对于进一步评估更有利。