【问题标题】:R throw away rows on multiple conditionsR在多个条件下丢弃行
【发布时间】:2012-07-05 17:37:07
【问题描述】:

我有一个关于在我的数据集中进行过滤的问题。我的数据集如下所示:

      PROJECT       FREQ
1       <NA>         NA
2       <NA>         NA
3       FSHD 0.01282051
4       <NA>         NA
5       <NA>         NA
6  GROEI,CMS 0.02564103
7       <NA>         NA
8      GROEI 0.00000132
9       <NA>         NA
10  NMD,BRCA 0.03846154

这是我的问题:我想丢弃 PROJECT 字段中没有的所有行:GROEI 和 FREQ 字段中:大于 0.01。

我想过这样的事情,但不是这样..

a1<-a[!(a$PROJECT != "GROEI" & a$FREQINHDB >= 0.02),]

谁能帮我解决这个问题?

谢谢!

【问题讨论】:

    标签: r filter dataframe subset


    【解决方案1】:

    由于您想匹配部分字符串,您可以使用grepl 将正则表达式与您的数据匹配:

    na.omit(a[!grepl("GROEI", a$PROJECT), ])
        n  PROJECT       FREQ
    3   3     FSHD 0.01282051
    10 10 NMD,BRCA 0.03846154
    

    【讨论】:

    • 亲爱的安德烈,这是正确的解决方案吗? a[!(grepl("GROEI", a$PROJECT) == FALSE & aFREQ > 0.04),]
    • @Lisann 这看起来可行。您不需要== FALSE,并测试您是否需要&amp;&amp; 而不是&amp;。您的代码是否得到了正确的结果?
    猜你喜欢
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多