3

遺伝子型数が 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、4 ではなく、12、3、および 5 の HWE が計算されます。

水平方向に読み取られるようにするにはどうすればよいですか?

4

1 に答える 1

4

を見ると?HWExact、長さ 3 のベクトルを取るように設計されているように見えます (つまり、HW 遺伝子型の 1 つのセットについて計算を行います。

?HWExactMatまた、やりたいことのために設計されているようにも見えます。ではHWExactMat、最初の引数は 3 列の行列です (表示される例は、実行しようとしているように見えます)。だから試してみてください:

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