【发布时间】:2013-08-08 16:35:48
【问题描述】:
我一直在使用 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))
我通常使用以下代码来生成频率范围内的单词列表
frq1 <- findFreqTerms(myTdm, lowfreq=50)
有没有什么办法可以自动完成,这样我们就可以得到一个包含所有单词及其频率的数据框?
我面临的另一个问题是将术语文档矩阵转换为数据框。当我处理大量数据样本时,我遇到了内存错误。 有没有简单的解决方案?
【问题讨论】:
标签: r text-mining word-frequency term-document-matrix