从数据帧中删除字符串模式(RStudio 中的 Twitter 数据)

Removing string pattern from dataframe (Twitter data in RStudio)

我在 RStudio 中有一个大型数据框(约 500,000 个观察值),其中包含 Twitter 数据(即用户名、转发推文计数、文本)。我想 运行 对推文进行文本分析,但我首先需要删除转推标签,这样它们就不会影响我的关键字搜索。

例如,在转推的推文中,文本如下所示:RT @BobsAccount Great article! Can't wait to learn more. 我想删除附加到 RT @.... 的字符串。

我已使用 lapplygsub 删除特定字符。例如,这成功删除了“@”:data <- data.frame(lapply(data, function(x) {gsub("@","", x)}))

但我不知道如何删除 "string pattern"(即附加到 "RT @" 的任何文本)。任何帮助将不胜感激!

您可以使用

data <- data.frame(lapply(data, function(x) {gsub("\bRT\s+@\S*\s*","", x)}))

\bRT\s+@\S*\s* 模式匹配

  • \bRT - 一个完整的单词 RT
  • \s+ - 1+ 个空格
  • @ - 一个 @ 字符
  • \S* - 0+ 个非空白字符
  • \s* - 0+ 个空白字符

参见regex demo

R 代码示例:

text <- c("RT @BobsAccount Great article! Can't wait to learn more.")
data <- data.frame(text)
data <- data.frame(lapply(data, function(x) {gsub("\bRT\s+@\S*\s*","", x)}))
data
## =>                                       text
##     1 Great article! Can't wait to learn more.