Is there a faster way to do the following, where in the real application, `df` has many rows (and therefore `list_of_colnames` has the same number of elements):

```
list_of_colnames <- list(c("A", "B"), c("A"))
some_vector <- c("fish", "cat")

map2(split(df, seq(nrow(df))), list_of_colnames, function(row, colnames) {
    row$indicator <- ifelse(any(row[, colnames] %in% some_vector), 1, 0)
    return(row)
  })

```

While this current implementation works, it takes centuries for the big `df`. In fact I think `split()` is a major bottleneck.

Thank you!