спасибо за ваше терпение.
Я имею дело с большим набором данных, детализирующих пациентов и лекарства.
Лекарства трудно кодировать, так как они (как правило) бессмысленны, если не совмещены с дозами.
У меня есть дата-кадр с векторами (Drug1, Drug2 ..... Drug 16), где отдельные пациенты представлены рядами.
Векторы на самом деле являются факторами, с сотнями возможных уровней (все лекарства, которые может принимать пациент).
Все, что я хочу сделать, это создать вектор логики (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
"Вероятность того, что это возможно, еще не все".