我尝试创建一个函数,该函数返回文本文件中单词的出现次数。 为此,我创建了一个List,其中包含文本的所有单词。 (a,c,c,d,e,f在这里是示例中的单词)
[[1]]
[1] a
[2] f
[3] e
[4] a
[[2]]
[1] f
[2] f
[3] e
我为每个单词创建一个表格,以显示出现次数
table(unlist(list))
a b c d e
3 3 2 1 1
我现在的问题是如何在参数中提取单词出现的值。 该函数将具有此结构
GetOccurence <- function(word, table)
{
return(occurence)
}
任何想法请帮助我,提前致谢
答案 0 :(得分:4)
要回答有关您的功能的问题,您可以采取以下方法。
为了重现性,我使用了公开数据并稍微清理了一下。
library(tm)
data(acq)
# Basic cleaning
acq <- tm_map(acq, removePunctuation)
acq <- tm_map(acq, removeNumbers)
acq <- tm_map(acq, tolower)
acq <- tm_map(acq, removeWords, stopwords("english"))
acq <- tm_map(acq, stripWhitespace)
acq <- tm_map(acq, PlainTextDocument)
# Split list into words
wrds <- strsplit(paste(unlist(acq), collapse = " "), ' ')[[1]]
# Table
tblWrds <- table(wrds)
GetOccurence <- function(word, table) {
occurence <- as.data.frame(table)
occurence <- occurence[grep(word, occurence[,1]), ]
return(occurence)
}
此功能仅匹配完整字词,以下解决方案会大写this answer。
GetOccurence <- function(word, table) {
occurence <- as.data.frame(table)
word <- paste0("\\b", word, "\\b")
occurence <- occurence[grep(word, occurence[,1]), ]
return(occurence)
}