【发布时间】:2016-05-20 10:22:55
【问题描述】:
最近的 tm 升级似乎出了点问题。我的代码如下,带有测试数据-
data = c('Lorem ipsum dolor sit amet, consectetur adipiscing elit',
'Vestibulum posuere nisl vel lobortis vulputate',
'Quisque eget sem in felis egestas sagittis')
ccorpus_clean = Corpus(VectorSource((data)))
ccorpus_clean = tm_map(ccorpus_clean,removePunctuation,lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,stripWhitespace,lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,tolower,lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,removeNumbers,lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,stemDocument,lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,removeWords,stopwords("english"),lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,removeWords,c("hi"),lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,removeWords,c("account","can"),lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,PlainTextDocument,lazy=TRUE)
ccorpus_clean = tm_map(ccorpus_clean,stripWhitespace,lazy=TRUE);
ccorpus_clean;
df = data.frame(text=unlist(sapply(ccorpus_clean , `[[`, "content")), stringsAsFactors=FALSE)
之前一切正常。但是突然我需要使用 ",lazy=TRUE"。没有那个,语料库转换停止工作。 懒惰问题记录在这里 - R tm In mclapply(content(x), FUN, ...) : all scheduled cores encountered errors in user code
使用 Lazy,转换工作,但语料库转换回 Data Frame 停止并出现以下错误 -
ccorpus_clean = tm_map(ccorpus_clean,stripWhitespace,lazy=TRUE)
ccorpus_clean
元数据:语料库特定:0,文档级别(索引):0
内容:文档:5
df = data.frame(text=unlist(sapply(ccorpus_clean , `[[`, "content")), stringsAsFactors=FALSE)
UseMethod("meta", x) 中的错误:
没有适用于“尝试错误”类对象的“元”方法
另外:警告信息:
在 mclapply(x$content[i], function(d) tm_reduce(d, x$lazy$maps)) 中:
所有计划的核心都在用户代码中遇到错误
编辑 - 这也失败了
data.frame(text = sapply(ccorpus_clean, as.character), stringsAsFactors = FALSE)
UseMethod("meta", x) 中的错误: 没有适用于“尝试错误”类对象的“元”方法
R 版本 - version.string R 版本 3.2.3 (2015-12-10) / tm - 0.6-2
【问题讨论】:
-
将
options(mc.cores=1)放入 .Rprofile 文件(并重新启动 R)有帮助吗?