У меня есть фрейм данных, в котором есть столбец со списком.Я хочу отфильтровать DF на основе этого списка
id <- c(1,2,3)
type <- c("dog1|dog2","cat1|cat2","mouse1|mouse2")
df1 <- data.frame("id" = id,"type" = type)
str(df1)
df1$type <- strsplit(as.character(df1$type),"|", fixed = TRUE)
matchingL <- c("dog1","mouse2", "mouse1", "ant")
# this does not work
df1[unlist(df1$type) %in% matchingL,]
результат равен
id type
1 1 dog1, dog2
NA NA NULL
NA.1 NA NULL
, в то время как я хочу, чтобы результат был
id type
1 dog1
3 mouse1
3 mouse2