我一直在努力完成以下教程:http://www.rdatamining.com/examples/text-mining但是,不是使用我一直使用的.csv文件的twitter数据(不幸的是内容很敏感,不能公开)。
.csv文件有两列,A列中的用户键和B列中的一段叙述文本(Response)。文件已使用以下代码打开,
Data <- read.csv(file="PATH/FILE.csv", header=TRUE, sep=",", stringsAsFactors=FALSE)
Data <- Data[!(Data$Response==""), ]
df<- do.call("rbind", lapply(Data$Response, as.list))
df是'91的列表',列表中的每个项目都是“character”类型。
本教程是从行库(tm)开始的,除了在NarrativeCorpus <- tm_map(NarrativeCorpus, PlainTextDocument)
之后添加myCorpus <- tm_map(myCorpus, removeWords, myStopwords)
之外没有任何差异,我发现需要用于词干。
代码在完成时失败:myCorpus <- tm_map(myCorpus, stemCompletion, dictionary=dictCorpus)
错误,
grep中的错误(sprintf(“^%s”,w),字典,值= TRUE): 无效的正则表达式,原因'内存不足'
我试图在网上看到堆栈溢出而运气不佳。
我尝试将参考字典转换为一个独特单词列表,然后再将其转换为语料库(以减小其大小),但无济于事。
我在带有4GB RAM的Windows 7笔记本电脑上使用R 64位3.2.3和RStudio Desktop 0.99.891。所有套餐都是最新的(根据RStudio)。
这是我的第一篇SO帖子,所以我欢迎建议我应该包括什么以及为什么等等。
答案 0 :(得分:0)
我遇到了类似问题Error in grep(sprintf("^%s", w), dictionary, value = TRUE) : invalid regular expression
,在搜索结果后,我在this thread找到了this website中找到的解决方案。
此代码应在加载语料库后添加:
content_transformer <- function(x) iconv(x, to='UTF-8-MAC', sub='byte')
myCorpus <- tm_map(myCorpus, content_transformer)
祝你好运