【发布时间】:2018-05-10 11:02:01
【问题描述】:
setwd("C:\\Users\\Joshua\\Documents\\TextMining\\Description_text")
library(RTextTools)
library(topicmodels)
library(tm)
library(SnowballC)
#Seizure
#cnamePS=file.path("C:\\Users\\Joshua\\Documents\\TextMining\\")
cnamePS=file.path("C:\\Users\\Joshua\\Documents\\TextMining\\Description_text")
docs <- Corpus(DirSource(cnamePS), readerControl=list(reader=readPlain))
#clean file
docsA <- tm_map(docs, removePunctuation)
docsA <- tm_map(docsA, removeNumbers)
docsA=tm_map(docsA,content_transformer(tolower))
docsA=tm_map(docsA,removeWords,stopwords("english"))
#phrase replacement
phrasesReplacement <- read.csv("C:\\Users\\Joshua\\Documents\\TextMining\\phrases.csv", stringsAsFactors = FALSE)
replacePhrasesFunc <- function(txt, replacementtable)
{
txt<-gsub("-","",txt)
for (r in seq(nrow(replacementtable)))
{
txt <- gsub(replacementtable$phrase[r], replacementtable$replacement[r], txt, fixed=TRUE)
}
return(txt)
}
replacePhrases <- content_transformer(replacePhrasesFunc)
docsA <- tm_map(docsA, replacePhrases, phrasesReplacement)#keep phrase
#docsAcopy=docsA #make copy
#docsA=tm_map(docsA,stemDocument)
docsA=tm_map(docsA,stripWhitespace)
您好,我正在尝试进行一些文本挖掘以进行一些研究,但是我的代码的一部分中不断出现一个错误。
> docsA <- tm_map(docsA, replacePhrases, phrasesReplacement)#keep phrase
Error in gsub(replacementtable$phrase[r], replacementtable$replacement[r], :
invalid 'pattern' argument
Called from: gsub(replacementtable$phrase[r], replacementtable$replacement[r],
txt, fixed = TRUE)
不幸的是,由于我是 R 新手,我似乎无法弄清楚为什么错误会不断重复发生。如果可能的话,感谢您的帮助。
【问题讨论】:
-
在运行此代码之前尝试
options(error=recover)。这将在您收到错误时启动调试器,您可以看到replacementtable$phrase[r]的样子。 -
我认为您的数据中可能存在一些保留的元字符导致这种情况,例如,如果您的数据存在“(”或“+”或“*”等具有特殊含义包含这些符号,那么就会发生这种错误,除非这些用“\\”转义。
-
感谢您的关注。我已经启动了调试器并发布了我看到的内容。 "\\" 是什么意思?