数据清洗:提取字符串中的数字
在我们日常进行数据清洗的过程中,可能会遇到需要对字符串进行操作和处理的任务。在下面的例子中,我们收到了一份关于医院患者输注血制品的医嘱单,但遗憾的是,在这份数据集中,输注血制品的量包含在了一个字符串中而不是被正确的提取在用量这一列中。数据集如下:
> head(examdata)
ID ORDER_NAME DRUG_QUAN ZXDW
1 2559 输红细胞悬液2个单位 1 <NA>
2 1945 输红细胞悬液2个单位 1 <NA>
3 1846 输红细胞悬液2个单位 1 <NA>
4 2478 输血浆(400ml) 1 <NA>
5 2205 输红细胞悬液2个单位 1 <NA>
6 1571 输血小板10个单位 1 <NA>
stringr包与正则表达式
本次数据处理中,我们将利用stringr
包来提取ORDER_NAME
中的数字,并将其作为单独的一列,以方便我们后续进行数据的分析。stringr
包是R语言中一个简单、易用的字符串操作工具,并且在这个包中,我们可以使用*正则表达式(Regular expressions)*进行字符串的匹配。关于stringr
包与正则表达式的相关知识可以参考以下的学习资料: