我正在使用R语言
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个变量和150万个观测值。这是一个包含患者数据的数据框(ID和诊断(ICD10)A123和B123代表某些诊断)。我想提取所有这些诊断的患者。实际上,我在100多种ICD10诊断中寻找6种诊断。我要查找的每种诊断都可以出现在任何列中,但它们是互斥的。最终我将得到一个大约4000个观测值的数据框,而不是150万个。
我的目标是获得一个数据框,其中只保留包含A123或B123的行。A123和B123不能在同一行中出现,但它们可以出现在每一列中。
当我针对单个变量执行以下操作时,我设法做到了这一点:
DataA123 <- Data[Data$Diag1 == "A123", ]
但我希望对每个变量以及A123和B123(实际上有6个类似的因素)进行操作。
这是否可能?
set.seed
是很有帮助的。 - A5C1D2H2I1M1N2O1R2T1