Наиболее часто встречающиеся в столбце данных - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть 3-колоночный фрейм данных, где 3-й (последний) содержит текстовое тело, что-то вроде одного предложения.

Кроме того, у меня есть один вектор слов.
Как изящно вычислить следующую вещь:

найти 15 самых частых слов (с количеством вхождений) в целом3-й столбец, встречающийся в указанном выше векторе?

Предложение может выглядеть следующим образом:
I like dogs and my father like cats
vector=["dogs", "like"]
Здесь наиболее часто встречающиеся слова: dogs и like.

1 Ответ

0 голосов
/ 13 февраля 2019

Вы можете попробовать это:

library(tidytext)
library(tidyverse)

df %>%                           # your data
unnest_tokens(word,text) %>%     # clean a bit the data and split the phrases
group_by(word) %>%               # grouping by words
summarise(Freq = n()) %>%        # count them
arrange(-Freq) %>%               # order decreasing
top_n(2)                         # here the top 2, you can use 15

Результат:

# A tibble: 8 x 2
  word   Freq
  <chr> <int>
1 dogs      3
2 i         2

Если вы уже разбили слова, вы можете пропустить вторую строку.


С данными:

df <- data.frame(
id = c(1,2,3),
group = c(1,1,1),
text = c("I like dogs","I don't hate dogs", "dogs are the best"), stringsAsFactors = F)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...