我正在R
中使用RStudio
,并且正在运行以下代码来对一组非结构化文本执行情感分析。
由于一堆文本包含一些无效字符(由于使用了表情符号和其他拼写错误所致),因此我想在进行分析之前将其删除。
我的R代码(摘录)如下:
setwd("E:/sentiment")
doc1=read.csv("book1.csv", stringsAsFactors = FALSE, header = TRUE)
# replace specific characters in doc1
doc1<-gsub("[^\x01-\x7F]", "", doc1)
library(tm)
#Build Corpus
corpus<- iconv(doc1$Review.Text, to = 'utf-8')
corpus<- Corpus(VectorSource(corpus))
到达代码行corpus<- iconv(doc1$Review.Text, to = 'utf-8')
时,出现以下错误消息:
Error in doc1$Review.Text : $ operator is invalid for atomic vectors
我查看了以下StackOverflow
个问题:
remove emoticons in R using tm package
Replace specific characters within strings
在运行tm软件包之前,我还尝试了以下操作来清理我的文本,但出现相同的错误:doc1<-iconv(doc1, "latin1", "ASCII", sub="")
我该如何解决这个问题?
答案 0 :(得分:0)
有
doc1<-gsub("[^\x01-\x7F]", "", doc1)
您覆盖了对象doc1
,由此它不是数据帧而是字符向量;看到:
doc1 <- gsub("[^\x01-\x7F]", "", iris)
str(doc1)
现在清除
doc1$Species
产生错误。
最终您想做:
doc1$Review.Text <- gsub("[^\x01-\x7F]", "", doc1$Review.Text)