R 按条件划分的子集数据

R 按条件划分的子集数据,r,R,如果我有如下数据: A B C 1 GM1 100 2 DOX 10 3 GM2 3 4 GM3 99 5 MY 62 6 GMPN 30 如何使用R let数据:(仅选择包含“GM”数据) 您可以使用grep df1[grep('GM\\d+', df1$B),] # A B C #1 1 GM1 100 #3 3 GM2 3 #4 4 GM3 99 或者像@ColonelBeauvel提到的那样 subset(df1, grep

如果我有如下数据:

A  B    C
1  GM1  100
2  DOX  10
3  GM2  3
4  GM3  99
5  MY   62
6  GMPN 30
如何使用R let数据:(仅选择包含“GM”数据)


您可以使用
grep

 df1[grep('GM\\d+', df1$B),]
 #  A   B   C
 #1 1 GM1 100
 #3 3 GM2   3
 #4 4 GM3  99
或者像@ColonelBeauvel提到的那样

 subset(df1, grepl('GM\\d+', B))

或者
subset(df,grepl('GM',B))
可能更整洁。谢谢,
subset
的一个问题是它有点慢,但另一方面,它在保存数据方面很好。框架结构当只有一列时,我不认为
subset
那么慢。有人测试过吗?如果我有数据#06看起来像:
6 GMPY 30
但我不想要GMPY,我怎么做?@JefferyChen在这种情况下,我们必须将模式更改为
子集(df,grepl('GM\\d+',B))
 subset(df1, grepl('GM\\d+', B))