首页 > 解决方案 > 替换数据表中多次出现的字符串模式

问题描述

我有一个数据表,其中一列包含字符(ID)。它的一些行具有一定的模式(AB_)。我想使用 data.table 解决方案将它们替换为 NA 。输入:

dt <- data.table(
ID = c("AB_1","AB_2","b","AB_3","a","c"),
col2 = 1:6,
col3 = 7:12)

输出:

dt <- data.table(
ID = c("NA","NA","b","NA","a","c"),
col2 = 1:6,
col3 = 7:12)

谢谢你

标签: rstringdesign-patternsdatatable

解决方案


dt <- data.table(
  ID = c("AB_1","AB_2","b","AB_3","a","c"),
  col2 = 1:6,
  col3 = 7:12)

一种可能的解决方案:

 dt[grepl("AB_",ID),ID := NA]

另一个

 dt[,ID := gsub("AB_{0-9}",NA,ID)]

推荐阅读