Я работаю с большим фреймом данных пациента, содержащим коды ICD, и хочу посмотреть, совпадают ли какие-либо коды в списке с кодами из предварительно определенного списка.Я бы предпочел, чтобы результаты теста выводились в мой фрейм данных в виде нового столбца.В идеале я хотел бы перейти от чего-то вроде этого:
dx1 dx2 dx3 ... dx15
4210 3359 2214 8178
V0832 12218 7423 2294
6463 3438 3243 1129
к чему-то вроде этого:
dx1 dx2 dx3 ... dx15 ENDO
4210 3359 4211 8178 TRUE
V0832 12218 7423 2294 TRUE
6463 3438 E3243 1129 FALSE
Я создал вектор со своими интересующими кодами:
ICD9EndoCodes <-c("4210","4211","4219","4249","421","11281")
Но я не смог понять, как выполнить логический тест для элемента моего фрейма данных и вывести один столбец.Самое близкое, что я получил, это:
x <-ifelse(df_04_13[,4:18] == "4210", TRUE, FALSE)
..., который создает матрицу "x" с истинными и ложными значениями, правильно назначенными для каждой позиции в матрице.Но когда я попытался обобщить это ...
x <- for(i in 1:length(ICD9EndoCodes))
ifelse(df_04_13[,4:18] == ICD9EndoCodes[i], TRUE, FALSE)
, я получаю "ноль".Мне кажется, что я упускаю очевидный, прямой способ сделать это, но мое незнакомство с окружающей средой заставило меня испытывать трудности.