【发布时间】:2018-02-01 06:25:51
【问题描述】:
我想使用stringr 和rebus 删除数据框中的部分字符串。具体来说,我想删除以空格和数字开头的部分,直到结束。
以下是我的数据框:
df<-data.frame(ID = 1:8, Medication = c("FOLIC ACID 5MG TABLET", "RIBAVIRIN 200MG TAB", "ACARBOSE 50MG TABLET",
"AmLODIPine 5MG TABLET", "MAGNESIUM TRISILICATE MIXTURE 200ML",
"RESONIUM 15G/60ML SUSPENSION", "CALCIUM & VIT D TABLET", NA))
我想要的数据框是:
df_new<-data.frame(ID = 1:8, Medication = c("FOLIC ACID", "RIBAVIRIN", "ACARBOSE",
"AmLODIPine", "MAGNESIUM TRISILICATE MIXTURE",
"RESONIUM", "CALCIUM & VIT D TABLET", NA))
我尝试了以下代码,但它只有助于删除药物强度(例如 5MG)而不是测量单位(例如 TABLET):
df %>% mutate(Medication = str_replace(Medication, pattern = SPC %R%
one_or_more(DGT) %R%
one_or_more(WRD) %R%
or(one_or_more(SPC), one_or_more(WRD)),
replace = ""))
我该怎么做?
【问题讨论】:
标签: r data-manipulation stringr text-manipulation