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

Using regex and subset to extract a subset of a data frame

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

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

我的目标是提取数据帧的所有 对应于单词 'Jakarta' 在上述列中某处的位置。我想正则表达式能够找到这个词,但不确定如何将它结合起来通过子集提取所有信息。请注意,我的 sheet 非常大,因此如果可能的话,我更愿意使用像子集这样的命令而不是循环。所需的输出将是:

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

非常感谢您的帮助

你可以用 grepl

数据

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), ]