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