Подсчет того, как часто в строке фрейма данных встречается неточное значение

#r #dataframe #count

Вопрос:

Я хотел бы подсчитать в кадре данных, как часто определенное слово встречается в каждой строке. В этом нет никаких проблем. Но я хотел бы расширить функцию так, чтобы значение не должно было возникать ТОЧНО. Например, abc также следует учитывать, если значение равно abcd.

Пример (ищем значение «abc»):

ID Ценность Должно считаться
1 adx ложный
2 азбука истинный
3 abcd истинный
4 abzc ложный
5 xabc истинный
6 xyzabcabczyd истинный

Каким-то образом я застрял на том, как написать функцию, которая возвращает здесь желаемое значение (которое будет равно 4).

Большое спасибо!

Ответ №1:

С помощью этой grepl функции вы можете подобрать нужный шаблон. В результате вы получаете логический вектор. Подсчитайте вхождения TRUE в вектор с sum , и вы получите свой результат.

 df <- data.frame(
  Id = 1:6,
  Value = c("adx", "abc", "abcd", "abzc", "xabc", "xyzabcabczyd")
)
sum(grepl("abc", df$Value))
#> [1] 4
 

Создано в 2021-10-10 годах пакетом reprex (v2.0.1)

Комментарии:

1. Работает отлично — спасибо!