r-替换数据表中多次出现的字符串模式



我有一个数据表,其中一列包含字符(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)

谢谢

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)]

最新更新