使用gsub函数通过读取.csv文件来替换单词

时间:2018-05-10 11:02:02

标签: r replace gsub

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)

嗨,我正在尝试为某些研究做一些Textmining,但是我的代码的一部分仍然出现一个错误。

> 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的新手,我似乎无法理解为什么错误会再次发生。如果可能的话,感谢您的帮助。

So the .csv file I use is formatted as such..

So here is the debugging information.

1 个答案:

答案 0 :(得分:0)

原来是我的.csv文件有问题。

我在单词之间缺少逗号。

一个很好的提醒是,最小的事情可能会导致整个代码无法正常工作。