ご理解いただきありがとうございます。行メンバーシップに基づく論理のベクトル
私は、患者と投薬を詳述する大規模なデータセットを扱っています。
投薬量と一致しない限り(通常は)無意味なので、投薬は難しいです。
私は個々の患者が行によって表されるベクトル(Drug1、Drug2 ..... Drug16)を持つデータフレームを持っています。 ベクターは実際には100sの可能なレベル(患者が服用することができるすべての薬剤)の因子である。
私がやりたがっているのは、患者が特定の薬物に罹っていないかどうかを教えてくれるデータフレームにバインドできる論理のベクトル(TTTTFFFFTTT ......)です。
次に、モデルでは、特に重要な薬物の存在または非存在をカテゴリの共変量として使用できます。
私はgrepを使って行を検索しましたが、識別子のベクトルを生成できますが、論理のベクトルを生成できないようです。
私は何かを間違っていると思います。
names(drugindex)
[1] "book.MRN" "DRUG1" "DRUG2" "DRUG3" "DRUG4" "DRUG5"
[7] "DRUG6" "DRUG7" "DRUG8" "DRUG9" "DRUG10" "DRUG11"
[13] "DRUG12" "DRUG13" "DRUG14" "DRUG15" "DRUG16"
> truvec<-drugindex$book.MRN[as.vector(unlist(apply(drugindex[,2:17], 2, grep, pattern="Lamotrigine")))]
> truvec
truvec
[1] 0024633 0008291 0008469 0030599 0027667
37 Levels: 0008291 0008469 0010188 0014217 0014439 0015822 ... 0034262
> head(drugindex)
book.MRN DRUG1 DRUG2 DRUG3 DRUG4 DRUG5
4 0008291 Venlafaxine Procyclidine Flunitrazepam Amisulpiride Clozapine
31 0008469 Venlafaxine Mirtazapine Lithium Olanzapine Metoprolol
3 0010188 Flurazepam Valproate Olanzapine Mirtazapine Esomeprazole
13 0014217 Aspirin Ramipril Zuclopenthixol Lorazepam Haloperidol
15 0014439 Zopiclone Diazepam Haloperidol Paracetamol <NA>
5 0015822 Olanzapine Venlafaxine Lithium Haloperidol Alprazolam
DRUG6 DRUG7 DRUG8 DRUG9 DRUG10 DRUG11 DRUG12
4 Lamotrigine Alprazolam Lithium Alprazolam <NA> <NA> <NA>
31 Lamotrigine Ramipril Alprazolam Zolpidem Trifluoperazine <NA> <NA>
3 Paracetamol Alprazolam Citalopram <NA> <NA> <NA> <NA>
13 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
15 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
5 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
DRUG13 DRUG14 DRUG15 DRUG16
4 <NA> <NA> <NA> <NA>
31 <NA> <NA> <NA> <NA>
3 <NA> <NA> <NA> <NA>
13 <NA> <NA> <NA> <NA>
15 <NA> <NA> <NA> <NA>
5 <NA> <NA> <NA> <NA>
そして、何が欲しいその患者がそれに
であるかどうかと言って、各薬剤のための論理名のベクトルでは、あなたの時間をありがとうございました。
ロス・ダンMRCPsych
"テoccidere possunt sedのTE edere NE possunt、nefas EST"。
トリッキーなベクトル化アプローチは 'rowSums(x [、-1] ==" Asprin ")> 0' – hadley
です。ハドレー:あなたは' na.rm = TRUE'を必要とします。そうでなければOPのケースでは 'NA' 。 –