Подсчет вхождений слов в R - PullRequest
       7

Подсчет вхождений слов в R

20 голосов
/ 16 октября 2011

Существует ли функция для подсчета количества раз, когда определенное ключевое слово содержится в наборе данных?

Например, если dataset <- c("corn", "cornmeal", "corn on the cob", "meal"), то счет будет равен 3.

Ответы [ 4 ]

34 голосов
/ 16 октября 2011

Предположим на данный момент, что вам нужно количество элементов, содержащих «кукурузу»:

length(grep("corn", dataset))
[1] 3

После того, как вы улучшите основы R, вы можете захотеть взглянуть на пакет «tm».

РЕДАКТИРОВАТЬ: Я понимаю, что на этот раз вы хотели любой - "кукуруза", но в будущем вы можете захотеть получить слово - "кукуруза".Более того, Билл Данлэп указал на более компактный шаблон grep для сбора целых слов:

grep("\\<corn\\>", dataset)
28 голосов
/ 12 марта 2013

Еще один весьма удобный и интуитивно понятный способ сделать это - использовать функцию str_count пакета stringr:

library(stringr)
dataset <- c("corn", "cornmeal", "corn on the cob", "meal")

# for mere occurences of the pattern:
str_count(dataset, "corn")
# [1] 1 1 1 0

# for occurences of the word alone:
str_count(dataset, "\\bcorn\\b")
# [1] 1 0 1 0

# summing it up
sum(str_count(dataset, "corn"))
# [1] 3
1 голос
/ 02 декабря 2017

Вы также можете сделать что-то вроде следующего:

length(dataset[which(dataset=="corn")])
0 голосов
/ 16 октября 2018

Я бы просто сделал это с разделением строк, как:

library(roperators)

dataset <- c("corn", "cornmeal", "corn on the cob", "meal")

# for each vector element:
dataset %s/% 'corn'

# for everything:
sum(dataset %s/% 'corn') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...