如何在R中使用grep对数据进行子集化

时间:2017-03-07 03:28:14

标签: r subset

我有一个非常直截了当的问题。我有一个如下所示的数据框:

dat
        ROI    Band2    Band3    Band4
1      red_2 0.037923 0.036316 0.015526
2      red_3 0.045340 0.032751 0.018201
...
11     bcs_2 0.045742 0.014596 0.009815
12     bcs_3 0.028775 0.011336 0.006283
...

我希望能够根据字符串redbcs选择所有行。

到目前为止,我有代码:

grep("^red_", dat$ROI, value = TRUE)

返回:

[1] "red_2"  "red_2"  "red_2"  "red_2"  "red_3"  "red_3"  "red_3"  "red_3"  "red_4"  "red_4"  "red_4" 
[12] "red_4"  "red_5"  "red_5"  "red_5"  "red_5"  "red_6"  "red_6"  "red_6"  "red_6"  "red_7"  "red_7" 

但我真正想要的是一个只返回redblack行的列的向量,例如:

        ROI    Band2    Band3    Band4
1      red_2 0.037923 0.036316 0.015526
2      red_3 0.045340 0.032751 0.018201

~~谢谢你解决我的问题!我现在有一个略有不同的数据框,如下所示:

dat
    X    ROI        Band      Min      Max     Mean    Stdev
1   1  red_2      Band 1 0.032262 0.124425 0.078073 0.028031
2   2  red_2      Band 2 0.021072 0.064156 0.037923 0.012178
3   3  red_2      Band 3 0.013404 0.066043 0.036316 0.014787

我想知道如何选择ROI列中的所有红色值以及Band列中的所有Band 1值?

0 个答案:

没有答案