R - 向量问题中Hardy Weinberg平衡的计算

时间:2012-11-20 03:46:42

标签: r bioinformatics

我有一个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。

如何确保水平读取?

1 个答案:

答案 0 :(得分:4)

?HWExact,它似乎只是设计了一个长度为3的向量(即,计算一组HW基因型。

?HWExactMat看起来像是为你想做的事而设计的。在HWExactMat中,第一个参数是一个包含3列的矩阵(显示的示例看起来就像您要尝试的那样)。所以试试:

HWExactMat(as.matrix(x[,3:5]), verbose=T)