【发布时间】:2019-06-14 22:27:43
【问题描述】:
我正在看一本小说,想在整本书中寻找人物名字的出现。有些人物的名字不同。例如,字符“Sissy Jupe”由“Sissy”和“Jupe”组成。我想将两行字数合二为一,这样我就可以看到“Sissy Jupe”的计数。
我查看过使用 sum、rbind、merge 和其他使用留言板的方法,但似乎没有任何效果。很多很好的例子,但它们不起作用。
library(tidyverse)
library(gutenbergr)
library(tidytext)
ht <- gutenberg_download(786)
ht_chap <- ht %>%
mutate(linenumber = row_number(),
chapter = cumsum(str_detect(text, regex("^chapter [\\divxlc]",
ignore_case = TRUE))))
tidy_ht <- ht_chap %>%
unnest_tokens(word, text) %>%
mutate(word = str_extract(word, "[a-z']+")) # preserves online letters; removes _)
ht_count <- tidy_ht %>%
group_by(chapter) %>%
count(word, sort = TRUE) %>%
ungroup %>%
complete(chapter, word,
fill = list(n = 0))
gradgrind <- filter(ht_count, word == "gradgrind")
bounderby <- filter (ht_count, word == "bounderby")
sissy <- filter (ht_count, word == "sissy")
## TEST
sissy_jupe <- ht_count %>%
filter(word %in% c("sissy", "jupe"))
我想要一个名为“sissy_jupe”的单个“单词”项目,它按章节计算 n。 这很接近,但不是。
# A tibble: 76 x 3
chapter word n
<int> <chr> <dbl>
1 0 jupe 0
2 0 sissy 1
3 1 jupe 0
4 1 sissy 0
5 2 jupe 5
6 2 sissy 9
7 3 jupe 3
8 3 sissy 1
9 4 jupe 1
10 4 sissy 0
# … with 66 more rows
【问题讨论】:
-
这个问题是“mcve”。干得好!