找出多个词组合成一个词的频率?
Find frequencies of multiple words combined as one?
我想找出几个词的总和频率。
例如,我正在使用这段代码来查找某些单词的频率
keyterms <- c("canadian", "american", "british")
dict <- dictionary(list(keyterms2 = c("canadian", "american", "british"))))
dfm <- dfm(toks) %>%
dfm_group(groups = "Organization") %>%
dfm_select(pattern = keyterms)
当我 运行 使用关键字和字典执行上述操作时,我会单独获取每个单词的频率。
A header
canadian
american
british
Organization
10
10
10
有没有一种方法可以编写脚本,使其 returns 频率加起来看起来像这样:
A header
terms
Organization
30
谢谢
您可以使用 rowSums
-
result <- dfm(toks) %>%
dfm_group(groups = "Organization") %>%
dfm_select(pattern = keyterms) %>%
rowSums()
使用 stack(result)[2:1]
将 return 数据框。
字典方法是最优雅的解决方案,因为它结合了您的关键字术语。
在这里,我说明了如何使用 built-in 就职语料库执行此操作,其中您的组(类似于您的“组织”)是总统的名字。
library("quanteda")
## Package version: 3.1
## Unicode version: 13.0
## ICU version: 69.1
## Parallel computing: 12 of 12 threads used.
## See https://quanteda.io for tutorials and examples.
keyterms <- c("canadian", "american", "british")
dict <- dictionary(list(terms = keyterms))
toks <- data_corpus_inaugural %>%
corpus_subset(Year > 2000) %>%
tokens() %>%
tokens_lookup(dictionary = dict)
dfm(toks) %>%
dfm_group(groups = President) %>%
convert(to = "data.frame")
## doc_id terms
## 1 Biden 9
## 2 Bush 6
## 3 Obama 8
## 4 Trump 11
(如果您愿意,可以将第一列重命名为“A header”。)
请注意 groups
的用法在 quanteda 3.0 中发生了变化,因此现在不应引用它的值。
我想找出几个词的总和频率。
例如,我正在使用这段代码来查找某些单词的频率
keyterms <- c("canadian", "american", "british")
dict <- dictionary(list(keyterms2 = c("canadian", "american", "british"))))
dfm <- dfm(toks) %>%
dfm_group(groups = "Organization") %>%
dfm_select(pattern = keyterms)
当我 运行 使用关键字和字典执行上述操作时,我会单独获取每个单词的频率。
A header | canadian | american | british |
---|---|---|---|
Organization | 10 | 10 | 10 |
有没有一种方法可以编写脚本,使其 returns 频率加起来看起来像这样:
A header | terms |
---|---|
Organization | 30 |
谢谢
您可以使用 rowSums
-
result <- dfm(toks) %>%
dfm_group(groups = "Organization") %>%
dfm_select(pattern = keyterms) %>%
rowSums()
使用 stack(result)[2:1]
将 return 数据框。
字典方法是最优雅的解决方案,因为它结合了您的关键字术语。
在这里,我说明了如何使用 built-in 就职语料库执行此操作,其中您的组(类似于您的“组织”)是总统的名字。
library("quanteda")
## Package version: 3.1
## Unicode version: 13.0
## ICU version: 69.1
## Parallel computing: 12 of 12 threads used.
## See https://quanteda.io for tutorials and examples.
keyterms <- c("canadian", "american", "british")
dict <- dictionary(list(terms = keyterms))
toks <- data_corpus_inaugural %>%
corpus_subset(Year > 2000) %>%
tokens() %>%
tokens_lookup(dictionary = dict)
dfm(toks) %>%
dfm_group(groups = President) %>%
convert(to = "data.frame")
## doc_id terms
## 1 Biden 9
## 2 Bush 6
## 3 Obama 8
## 4 Trump 11
(如果您愿意,可以将第一列重命名为“A header”。)
请注意 groups
的用法在 quanteda 3.0 中发生了变化,因此现在不应引用它的值。