如何根据字符串的第一个和第三个字符过滤一列字符串?

Posted

技术标签:

【中文标题】如何根据字符串的第一个和第三个字符过滤一列字符串?【英文标题】:How do I filter a column of character strings based on their first and 3rd characters? 【发布时间】:2020-05-01 12:05:15 【问题描述】:

我有一个 ICD 代码数据集,5 位代码描述医院患者的诊断,看起来像这样(但有 16000 名患者):

df <- c('S48.10', 'H38.13', 'R40.12')

我需要根据第一个字符是 S 和第三个字符是 8 来过滤它们,以过滤掉截肢患者。有关如何执行此操作的任何建议?

【问题讨论】:

ICD[substring(ICD, 1, 1) == "S" &amp; substring(ICD, 3, 3) == "8"] 【参考方案1】:

这是 ICD 列上带有 grepl 的选项。使用的模式是“S”后跟任意字符 (.),后跟从字符串开头 (^) 开始的 8,以过滤数据集的行

subset(df1, grepl('^S.8', ICD))

【讨论】:

以上是关于如何根据字符串的第一个和第三个字符过滤一列字符串?的主要内容,如果未能解决你的问题,请参考以下文章

在第二个和第三个连字符之间提取 TextString

正则表达式 - 在第一个和第三个字符之间插入一个特殊字符 (~),并且仅当存在完全匹配时

SQL Regex 在第二个和第三个正斜杠之间选择字符串

日期过滤器示例

日期过滤器示例

VC MFC下 定义 CString str 怎样获取str的第二个和第三字符(用啥函数)?