首页 > 解决方案 > 有没有办法计算特定单词在 R 中出现的次数

问题描述

我是 R 和网络抓取的新手。出于练习目的,我试图从假书网站上抓取信息。到目前为止,我已经设法抓取了书名,找到了书名中每个单词的平均长度,找到了最常用的单词,还找到了不包括停用词的最常用的单词。但是,我现在试图找出一个特定单词出现了多少次。例如,“我”这个词在书名中出现了多少次,但我不知道如何隔离一个特定的词。

到目前为止的代码:

url<-'http://books.toscrape.com/index.html'

url %>%
  read_html() %>%
  html_nodes('h3 a') %>%
  html_attr('title')->titles
titles

values<-lapply(titles,nchar)
mean(unlist(values))

mostUsedWord<-head(sort(table(tolower(unlist(strsplit(titles, '\\s+')))), decreasing = TRUE))[1]
mostUsedWord 

all_words <- tolower(unlist(strsplit(titles, '\\s+')))
noStopWords <- head(sort(table(all_words[!all_words %in% tm::stopwords()]), decreasing = TRUE))[1:3]
noStopWords

我想知道特定单词出现了多少次,而不仅仅是最常用的单词。

标签: rweb-scraping

解决方案


这就是你所追求的吗?

word='me'
data.frame(word = table(all_words)) %>% dplyr::filter(word.all_words == word)
word.all_words word.Freq
1             me         1

推荐阅读