Использование функции gsub для замены слов чтением файла .csv - PullRequest
0 голосов
/ 10 мая 2018
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, я не могу понять, почему ошибка повторяется. Спасибо за любую помощь, если это возможно.

Таким образом, файл .csv, который я использую, отформатирован так:

Итак, вот отладочная информация.

1 Ответ

0 голосов
/ 09 июля 2018

Оказывается, это была проблема с моим файлом .csv.

Я пропустил запятую между словами.

Хорошее напоминание о том, что мельчайшие вещи могут привести к неработоспособности всего кода.

...