я использую Р
set.seed(1)
Data <- data.frame(id = seq(1, 10),
Diag1 = sample(c("A123", "B123", "C123"), 10, replace = TRUE),
Diag2 = sample(c("D123", "E123", "F123"), 10, replace = TRUE),
Diag3 = sample(c("G123", "H123", "I123"), 10, replace = TRUE),
Diag4 = sample(c("A123", "B123", "C123"), 10, replace = TRUE),
Diag5 = sample(c("J123", "K123", "L123"), 10, replace = TRUE),
Diag6 = sample(c("M123", "N123", "O123"), 10, replace = TRUE),
Diag7 = sample(c("P123", "Q123", "R123"), 10, replace = TRUE))
Data
У меня есть такой фрейм данных. На самом деле он имеет 34 переменных и 1,5 млн наблюдений. Это фрейм данных с данными пациента. (ID и диагнозы (ICD10) A123 и B123 обозначают определенные диагнозы. Я хочу извлечь всех пациентов с этими диагнозами. На самом деле я ищу 6 диагнозов в пределах сотен различных диагнозов ICD10. Каждый из тех диагнозов, которые я ищу, может быть появляются в любом столбце, но они взаимоисключающие.В конце концов у меня будет кадр данных около 4000 наблюдений вместо 1,5 млн.
Моя цель - получить фрейм данных, в котором я просто сохраняю строки, содержащие A123 или B123. A123 и B123 не могут находиться в одной строке. Но они могут появиться в каждом столбце.
Мне удается сделать это для одной единственной переменной, когда я делаю это:
DataA123 <- Data[Data$Diag1 == "A123", ]
Но я хочу сделать это для каждой переменной и для A123 и B123 (на самом деле таких факторов 6) вместе.
Это возможно?