Я использую функцию str_detect
от tidyverse, чтобы отфильтровать строки фрейма данных, которые соответствуют началу любой строки из списка.В настоящее время используется оператор |
при фильтрации между каждым столбцом в моем операторе filter
.Есть ли способ использовать str_detect
в нескольких столбцах без использования или операторов?Код, который я сейчас использую, работает, но не масштабируется.
Dataframe <- data.frame("names" = c('John','Jill','Joe','Mark'), "Jobs" = c('Mailman','Jockey','Jobhunter',"Nojob"))
Filter_list <- c('Jo')
Dataframe %>% filter(str_detect(names, paste0("^(", paste(Filter_list, collapse = "|"), ")")) |
str_detect(Jobs, paste0("^(", paste(Filter_list, collapse = "|"), ")"))
names Jobs
1 John Mailman
2 Jill Jockey
3 Joe Jobhunter)