R语言中如何为含dry0的swab ID字符串插入swab?
修正Swab ID格式:识别并补全缺失的"swab"字段
步骤说明
- 识别异常ID:使用
str_detect()匹配以dry开头且直接后跟数字的ID(即缺少swab的格式),匹配规则为^dry\\d(^表示字符串开头,\\d匹配任意数字)。 - 批量修正格式:使用
str_replace()将符合上述规则的ID中,dry与数字序列之间插入swab。通过正则表达式^dry(\\d+)捕获dry后的数字部分,替换为dryswab\\1(\\1指代捕获到的数字内容)。
完整代码示例
# 加载所需工具包 library(tidyverse) # 示例数据 data <- structure(list(swab_id = c("dryswab00001", "dry00002")), class = "data.frame", row.names = c(NA, -2L)) # 识别异常ID并修正格式 data <- data %>% mutate( # 可选:标记异常ID用于验证 is_abnormal = str_detect(swab_id, "^dry\\d"), # 执行格式修正 corrected_swab_id = str_replace(swab_id, "^dry(\\d+)", "dryswab\\1") ) # 查看处理结果 print(data)
输出结果
swab_id is_abnormal corrected_swab_id 1 dryswab00001 FALSE dryswab00001 2 dry00002 TRUE dryswab00002
内容的提问来源于stack exchange,提问作者Eizy
相关产品推荐
相关产品推荐

