我对R比较陌生,目前主要用于文本分析。在下面的代码中,我试图在某些单词中找到重复。
tableinter <- intersect(innsong, Inncorpus[[1]])
inntable <- table(innsong)
repwords <- list()
notrepwords <- list()
for(i in length(tableinter)){
if(inntable[tableinter[i]] > 1){
repwords[[i]] <- tableinter[[i]]
return(repwords)
} else{
notrepwords[[i]] <- tableinter[[i]]
}
}
我的最终目标是从innsong
和inncorpus[[1]]
相交的单词中包含两个列表。一个列表repwords
将包含inncorpus[[1]]
中与innsong
相交且频率> 1的单词。另一个列表是那些在文本中只出现一次的词。
答案 0 :(得分:0)
分析文档中单词出现的一种更通用的方法是通过文档特征矩阵(或文档术语矩阵)。
我推荐包quanteda
。
require("quanteda")
require("magrittr")
df_matrix <- c(innsong, Inncorpus[[1]]) %>%
dfm(tolower = TRUE, stem = FALSE, remove_numbers = TRUE,
remove_punct = TRUE, remove_symbols = TRUE)
这将生成一个矩阵,其中每一行都是一个文档,每列都是一个不同的单词。每个值表示每个文档中每个单词的出现次数。你将有两排到达。然后,您可以评估矩阵以找到答案。
在我看来,这是一种更通用的方法。如果您愿意,它可以为您提供词干和删除停用词的选项。