小编Pro*_*cRJ的帖子

使用R的单词频率列表

我一直在使用tm包来运行一些文本分析.我的问题是创建一个包含单词及其相关频率的列表

library(tm)
library(RWeka)

txt <- read.csv("HW.csv",header=T) 
df <- do.call("rbind", lapply(txt, as.data.frame))
names(df) <- "text"

myCorpus <- Corpus(VectorSource(df$text))
myStopwords <- c(stopwords('english'),"originally", "posted")
myCorpus <- tm_map(myCorpus, removeWords, myStopwords)

#building the TDM

btm <- function(x) NGramTokenizer(x, Weka_control(min = 3, max = 3))
myTdm <- TermDocumentMatrix(myCorpus, control = list(tokenize = btm))
Run Code Online (Sandbox Code Playgroud)

我通常使用以下代码生成频率范围内的单词列表

frq1 <- findFreqTerms(myTdm, lowfreq=50)
Run Code Online (Sandbox Code Playgroud)

有没有办法自动化这个,以便我们得到一个包含所有单词及其频率的数据帧?

我面临的另一个问题是将术语文档矩阵转换为数据框.当我处理大量数据时,我遇到了内存错误.有一个简单的解决方案吗?

r text-mining term-document-matrix word-frequency

18
推荐指数
5
解决办法
4万
查看次数