Filtre linhas com base nas variáveis "começando com" as strings especificadas pelo vetor
Estou tentando filtrar um banco de dados de pacientes com base em códigos ICD9 (diagnóstico) específicos. Eu gostaria de usar um vetor indicando as 3 primeiras cadeias de caracteres dos códigos ICD9.
O banco de dados de exemplo contém 3 variáveis de caracteres para códigos IC9 para cada visita do paciente (var1 a var3).
Abaixo está um exemplo dos dados
patient<-c("a","b","c")
var1<-c("8661", "865","8651")
var2<-c("8651","8674","2866")
var3<-c("2430","3456","9089")
observations<-data_frame(patient,var1,var2,var3)
patient var1 var2 var3
1 a 8661 8651 2430
2 b 865 8674 3456
3 c 8651 2866 9089
#diagnosis of interest: all beginning with "866" and "867"
dx<-c("866","867")
filtered_data<- filter(observations, var1 %like% dx | var2 %like% dx | var3 %like% dx)
Eu tentei várias abordagens, incluindo as funções grep e% like%, como você pode ver acima, mas não consegui fazê-lo funcionar no meu caso. Agradecemos qualquer ajuda que você possa fornecer.
Happy thanksgiving
Albit