Мы можем использовать lapply
до l oop над столбцами с 7 по 16, применить grepl
, с pattern
, чтобы получить list
логических векторов, Reduce
, это одно целое число вектор путем добавления (+
), а затем получить общее значение на sum
sum(Reduce(`+`, lapply(profiles[7:16], grepl, pattern = "my name is jeff")))
Поскольку grepl
векторизовано для vector
, если мы преобразуем «data.frame» к matrix
(a matrix
- это вектор с dim-атрибутами), он более компактен
sum(grepl("my name is jeff", as.matrix(profiles[7:16])))
Кроме того, с for
циклами нам не нужны вложенные циклы как grepl
векторизовано
fc_count <- 0
for(prf in profiles[7:16]){
fc_count <- fc_count + sum(grepl("my name is jeff", prf))
}