如何解决与原子向量相关的 R 错误消息?

How can I solve this R error message relating to atomic vectors?

我在RStudio中使用R并且我是运行以下代码对一组非结构化文本执行情感分析。 由于一堆文本中包含一些无效字符(由于使用表情符号和其他错字引起的),我想在继续分析之前将其删除。

我的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

我查看了以下 Whosebug 个问题:

Replace specific characters within strings

我也尝试过以下方法在 运行 tm 包之前清理我的文本,但我遇到了同样的错误:doc1<-iconv(doc1, "latin1", "ASCII", sub="")

我该如何解决这个问题?

doc1<-gsub("[^\x01-\x7F]", "", doc1)

您覆盖对象 doc1,从此它不是数据框而是字符向量;见:

doc1 <- gsub("[^\x01-\x7F]", "", iris)
str(doc1)

现在清除

doc1$Species

产生错误。
最终你想做的是:

doc1$Review.Text <- gsub("[^\x01-\x7F]", "", doc1$Review.Text)