У меня большой фрейм данных (df
), который я хочу отфильтровать путем поиска частичных совпадений между столбцом (df$column
) и списком (aList
).
aList <- c("ID1", "ID2", "ID3")
Переменная в моем фрейме данных, который я использую для фильтрации, содержит значения, которые могут начинаться только со значений в списке. Пример: ID1_23
или ID2AV
.
Затем я хотел бы использовать grepl
или аналогичный для поиска любого значения в моем столбце фрейма данных, которое начинается со значения aList
. Мой подход к обработке этого способа при поиске только отдельных значений будет следующим:
library(dplyr)
newDf <- df %>% filter(grepl("^ID1", column))
Тогда возникает моя проблема в том, как сделать similair со всеми значениями в моем списке. Я попробовал следующий подход:
dummyList <- c()
for (i in 1:length(aList)){
list1 <- dplyr::filter(grepl(paste("\"^", aList[i], "\""), df$column))
rbind(list1, dummyList)
}
, которые предоставляют мне следующий код ошибки:
Error in UseMthod("filter_") :
no applicable method for ´filter_´ applied to an obecjt of class "logical"
Кто-нибудь может мне помочь?
Спасибо!