から特定の文字列の出現をカウントB/B "を各セルから取り出し、新しいマトリックスに入れる。 「A/A」が検出された場合、カウントは2であり、「B/B」が0であった場合、および「B/B」が0であった場合には、カウントはマトリックスのそのセル内で1になる。は、私はこのようになります行列を持つ行列
だから、基本的には、新しい行列は次のようになります。
[1] 1 2 1 1 0 0 0 0 2 1 ... so on
[16] 0 1 0 0 1 0 0 1 1 1 ...
私はそうすることの試みで 行列になるだろう、私のコードは次のようになります。
count <- 0
for(i in dim(matrix1)[1])
{
if(snp1 == "B/A")
count = count + 1
}
print(count)
しかし、私はこの出力を取得エラー:
Warning message:
In if (snp1 == "B/A") count = count + 1 :
the condition has length > 1 and only the first element will be used
おそらくRチュートリアルを参照してください。あなたのループの本体の中で 'i'の上に、あなたはどこかで' i'を使うべきです、 'snp1 [i、]'のように。また、Rのfor-loop構文に従って、seq_len(dim(matrix1)[1])に 'iが必要です。 – Frank
質問とタイトルを編集する必要があります。あなたがしたいことは、文字列を数えずに文字列を代入することです。また、サンプル行列はベクトルのように見えます。 – neilfws