按条件子集数据

Jef*_*hen 3 r

如果我有这样的数据:

A  B    C
1  GM1  100
2  DOX  10
3  GM2  3
4  GM3  99
5  MY   62
6  GMPN 30
Run Code Online (Sandbox Code Playgroud)

我如何使用R let数据看起来像:(只选择包含"GM"数据)

A  B    C
1  GM1  100
3  GM2  3
4  GM3  99
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

您可以使用 grep

 df1[grep('GM\\d+', df1$B),]
 #  A   B   C
 #1 1 GM1 100
 #3 3 GM2   3
 #4 4 GM3  99
Run Code Online (Sandbox Code Playgroud)

或者像@ColonelBeauvel提到的那样

 subset(df1, grepl('GM\\d+', B))
Run Code Online (Sandbox Code Playgroud)