You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中替换包含(D)的文本内容

在R语言中替换数据框含(D)的文本为Discontinue

你可以通过以下两种常用方法实现需求:将数据框text列中包含"(D)"的条目整体替换为"Discontinue",其余内容保持不变。

示例数据

df <- data.frame(id = c(1,2,3),
                 text = c("Student was (D) in X","text1","tex2"))

方法1:Base R 原生函数

利用grepl检测字符串是否包含目标模式,结合ifelse完成替换:

# 替换text列内容
df$text <- ifelse(grepl("\\(D\\)", df$text), "Discontinue", df$text)

# 查看结果
df

输出:

id          text
1  1 Discontinue
2  2       text1
3  3        tex2

注:\\(D\\)是正则表达式写法,因为括号()在正则中属于特殊字符,需要用反斜杠转义,R语言中需写两个反斜杠表示转义。

方法2:Tidyverse 工具链(dplyr)

如果习惯使用管道式操作,可以用dplyr结合stringr的str_detect函数:

library(dplyr)

df <- df %>%
  mutate(text = if_else(str_detect(text, "\\(D\\)"), "Discontinue", text))

# 查看结果
df

输出与方法1一致。

内容的提问来源于stack exchange,提问作者amisos55

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:10:31