Подтвердить что ты не робот

Подсчитайте слова в R

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

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

4b9b3361

Ответ 1

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

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

После того, как вы лучше узнаете основы R, вы можете посмотреть пакет "tm".

EDIT: Я понимаю, что на этот раз вам захотелось чего-нибудь - "кукурузы", но в будущем вы, возможно, захотите получить слово "кукуруза". На r-help Билл Дунлап указал на более компактный шаблон grep для сбора целых слов:

grep("\\<corn\\>", dataset)

Ответ 2

Другим довольно удобным и интуитивно понятным способом является использование функции 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

Ответ 3

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

length(dataset[which(dataset=="corn")])