3

我有一个 csv 文件,它在三列中有基因型计数。我正在使用 read.table() 导入 csv,并使用另一个变量专门从这些列中提取数据:

数据示例:

SNP, Allele, CC, CT, TT
1, .329, 12, 3, 4
2, .231, 3, 2, 6
3, .214, 5, 4, 5

代码:

library(HardyWeinberg)
x = read.table("SNPs.csv", header=T, sep = ",")
y = c(x$CC, x$CT, x$TT)
HW.test = HWExact(y, verbose=TRUE)

问题是 HW.test 正在向下读取列而不是跨行,因此使用上述数据,它将计算 12、3 和 5 的 HWE,而不是 12、3、4。

如何确保它被水平读取?

4

1 回答 1

4

?HWExact,它似乎只设计为采用长度为 3 的向量(即,对一组 HW 基因型进行计算。

它看起来也像是?HWExactMat专为您想做的事情而设计的。在HWExactMat中,第一个参数是一个 3 列的矩阵(显示的示例看起来像您要执行的操作)。所以试试:

HWExactMat(as.matrix(x[,3:5]), verbose=T)
于 2012-11-20T04:11:30.630 回答