【发布时间】:2015-11-12 04:30:00
【问题描述】:
我正在处理如下字符串
ID Col1
------------------------------------------------------------------------------------
11 GLIPIZIDE 10 MG TAB 1 TABLET PO QAM
23 GLIPIZIDE 5 MG TAB 2 TABLETS PO BID
32 GLIPIZIDE TAB PO
12 GLIPIZIDE TAB PO PRN
343 PIOGLITAZONE [ACTOS] 45 MG TAB 1 TABLET PO DAILY #3 MONTHS SUPPLY REFILL X3
31 METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #200 TABLETS REFILL X3
44 METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #400 TABLETS REFILL X3
34 METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #200 TABLETS REFILL X3
38 METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #200 TABLETS REFILL X3
我想要完成的是两件事。
1) Store the first word a new column (Col2)
2) Search for the term "mg" and capture the string before the word "mg"
and store that in a new column (Col3)
以示例为例,最终输出应该是这样的
Id Col2 Col3
---------------------------------
11 GLIPIZIDE 10 MG
23 GLIPIZIDE 5 MG
32 GLIPIZIDE
12 GLIPIZIDE
343 PIOGLITAZONE 45 MG
31 METFORMIN 500 MG
44 METFORMIN 500 MG
34 METFORMIN 500 MG
38 METFORMIN 500 MG
非常感谢有关此问题的任何帮助。
数据
dd <- read.table(header = TRUE, stringsAsFactors = FALSE, text="ID Col1
11 'GLIPIZIDE 10 MG TAB 1 TABLET PO QAM'
23 'GLIPIZIDE 5 MG TAB 2 TABLETS PO BID'
32 'GLIPIZIDE TAB PO'
12 'GLIPIZIDE TAB PO PRN'
343 'PIOGLITAZONE [ACTOS] 45 MG TAB 1 TABLET PO DAILY #3 MONTHS SUPPLY REFILL X3'
31 'METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #200 TABLETS REFILL X3'
44 'METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #400 TABLETS REFILL X3'
34 'METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #200 TABLETS REFILL X3'
38 'METFORMIN [GLUCOPHAGE XR] 500 MG TAB SR 24HR 2 TABLETS PO DAILY #200 TABLETS REFILL X3'")
【问题讨论】:
-
@akrun 可以。好建议
标签: regex r string string-split