R:从文本字符串中提取数字(剂量)到新变量中

问题描述 投票:-1回答:1

最近,我已经开始学习R以分析数据。我有一个特定的(CSV)数据文件,已成功将其导入到R中。该数据集包含多个变量(列),其中一个是包含文本和数字的字符串。我想从此字符串中提取一定数量(即剂量)到新变量(列)中。

变量源变量包含以下格式的条目

“ NIFEDI SDZ RET 30MG TAB MGA”

“ HYDROCHL THIAZ PCH 12,5MG T”

“ METOPROL SU SDZ RET 200 TAB”

我想创建一个名为“剂量”的变量(列),该变量仅包含一个数字

30

12,5

200

简而言之。有一个包含几种不同格式的变量,我想从中将数字提取到同一行中的新变量(列)中。

我应该使用Gsub,RegEx还是我尚未了解的其他功能来执行此操作?我尝试使用搜索功能,发现了类似的问题,但没有一个完全回答我的问题。我虽然对stackoverflow还是陌生的,所以如果已经回答了这个问题并且我看上去不正确,我深表歉意。

最近,我已经开始学习R以分析数据。我有一个特定的(CSV)数据文件,已成功将其导入R中。该数据集包含多个变量(列),其中一个是...

r regex gsub
1个回答
0
投票
Lines = c("NIFEDI SDZ RET 30MG TAB MGA",
  "HYDROCHL THIAZ PCH 12,5MG T",
  "METOPROL SU SDZ RET 200 TAB")

gsub("[^0-9]+([0-9]+(,[0-9])?)(MG)?.*$", "\\1", Lines)
© www.soinside.com 2019 - 2024. All rights reserved.