如何在R的data.table中筛选指定前缀及特定值的诊断编码?
data.table 筛选特定诊断编码的实现方法
给定数据集:
dt <- data.table(ID = c(1,2,3, 4, 1), diagnosis = c("A1053", "A10534", "A1034", "A1400", "B1008"))
要筛选出diagnosis列中以"A105"开头的编码,以及编码"B1008",补全后的代码如下:
dt[grepl("^A105", diagnosis) | diagnosis == "B1008"]
代码说明
grepl("^A105", diagnosis):利用正则表达式匹配以"A105"起始的字符串,^代表字符串开头,该函数返回布尔值,符合条件的行标记为TRUE|:逻辑或运算符,只要满足两个条件中的任意一个,对应行就会被保留diagnosis == "B1008":直接精确匹配指定编码
运行代码后得到的结果:
ID diagnosis 1: 1 A1053 2: 2 A10534 3: 1 B1008
内容的提问来源于stack exchange,提问作者Hellihansen
相关产品推荐
相关产品推荐

