使用正则表达式和子集来提取数据帧的子集

时间:2015-07-14 10:51:42

标签: regex r subset

我在数据框中有一个,其中包含不同类型的文本,例如,如下所示:

Column A                 Column B               Column C
Kuala Lumpur 2 new        7                      A
old Jakarta 3             6                      C
7 Hong Kong               3                      A
Jakarta new 22            2                      B

我的目标是提取数据框的所有,对应于“雅加达”字样的位置。在上述专栏中的某个地方。我认为正则表达式能够找到这个词,但不确定如何将它组合起来通过子集提取所有信息。请注意,我的工作表非常大,所以如果可能的话,更喜欢使用像子集这样的命令而不是循环。所需的输出是:

Column A                 Column B               Column C
old Jakarta 3             6                      C
Jakarta new 22            2                      B

非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用grepl

执行此操作

<强> DATA

df <- data.frame(ColumnA=c("Kuala Lumpur 2 new", "old Jakarta 3", "7 Hong Kong", "Jakarta new 22"),
             Columnb=c(7, 6, 3, 2), Columnc=c("A", "C", "A", "B"))

<强> 代码

df[grepl("Jakarta ", df$ColumnA), ]