Фильтровать строки на основе переменных, начинающихся со строк, заданных вектором
Я пытаюсь отфильтровать базу данных пациентов по конкретным кодам ICD9 (диагностика). Я хотел бы использовать вектор, обозначающий первые 3 строки кодов ICD9.
База данных примера содержит 3 символьные переменные для кодов IC9 для каждого посещения пациента (var1-var3)
Ниже приведен пример данных
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)
Я попробовал несколько подходов, включая функции grep и% like%, как вы можете видеть выше, но я не смог заставить его работать в моем случае. Буду признателен за любую помощь, которую вы можете предоставить.
С Днем благодарения
Альбит