#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. Работает отлично — спасибо!