ブール値のフィールドの数に基づいて係数を決定するか、新しいカテゴリフィールドを作成する最良の方法は何ですか?この例では、薬剤の独特の組み合わせの数を数える必要があります。ブール値の組み合わせの数を数える方法R
> MultPsychMeds
ID OLANZAPINE HALOPERIDOL QUETIAPINE RISPERIDONE
1 A 1 1 0 0
2 B 1 0 1 0
3 C 1 0 1 0
4 D 1 0 1 0
5 E 1 0 0 1
6 F 1 0 0 1
7 G 1 0 0 1
8 H 1 0 0 1
9 I 0 1 1 0
10 J 0 1 1 0
おそらく、別の方法として、ピボットまたはクロス集計をする必要があります。ここでreshape
とplyr
パッケージを使用して一つの手法だ
MultPsychMeds <- structure(list(ID = structure(1:10, .Label = c("A", "B", "C",
"D", "E", "F", "G", "H", "I", "J"), class = "factor"), OLANZAPINE = c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 0L), HALOPERIDOL = c(1L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L), QUETIAPINE = c(0L, 1L, 1L, 1L,
0L, 0L, 0L, 0L, 1L, 1L), RISPERIDONE = c(0L, 0L, 0L, 0L, 1L,
1L, 1L, 1L, 0L, 0L)), .Names = c("ID", "OLANZAPINE", "HALOPERIDOL",
"QUETIAPINE", "RISPERIDONE"), class = "data.frame", row.names = c(NA,
-10L))
+1。しかし、あなたのタイトルを更新する必要があると信じています。ブーリアン(論理)が含まれていないように見えますし、「変換」も行われていません。 「共起数を数える」かそれに類するものに修正することはできますか? –
ありがとうございます。実際の質問と一致するようにタイトルを改訂しました。 Booleanについては、生データには、.csvファイルからロードするときに、FALSEの場合は0、TRUEの場合は1が含まれ、RはIntegersに設定されます。これらが最初に論理変数に変換された方が良いでしょうか? – Rollie
ブール値への参照はきれいで直感的だと思いますが、Rは1とTRUEを1つの同じ値にします(これが真でない場合があります)。たとえば、 '> 1 == TRUE [1] TRUE' – Chase