Частота подсчета слов из нескольких строк в столбце данных - PullRequest
1 голос
/ 31 марта 2020

У меня есть DF вроде следующего с примерно 33000 строк:

tibble(ID = c(1,2,3), desc = c("This is a description.", "Also a description!","This is yet another desciption"))

Я хотел бы посчитать каждое слово для всех строк, чтобы получить результирующий df, как:

tibble(word = c("this", "is", "a", "description", "also", "yet", "another"), count = c(2,2,2,3,1,1,1))

Ответы [ 2 ]

1 голос
/ 31 марта 2020

Доступно несколько пакетов текстового майнинга. tidytext, quanteda, tm, ...

Ниже приведен пример использования tidytext.

library(tibble)

df1 <- tibble(ID = c(1,2,3), desc = c("This is a description.", "Also a description!","This is yet another desciption"))

library(dplyr)
library(tidytext)

df1 %>% 
  unnest_tokens(words, desc) %>% 
  group_by(words) %>% 
  count(words)

# A tibble: 8 x 2
# Groups:   words [8]
  words           n
  <chr>       <int>
1 a               2
2 also            1
3 another         1
4 desciption      1
5 description     2
6 is              2
7 this            2
8 yet             1
0 голосов
/ 31 марта 2020

Может быть что-то вроде

table(unlist(strsplit(paste(collection_df$desc), "\\W")))

Трудно ответить на ваш вопрос, поскольку вы не предоставили ясную проблему, пример и ожидаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...