【问题标题】:remove data greater than 95th percentile in data frame删除数据框中大于 95% 的数据
【发布时间】:2012-09-20 19:30:41
【问题描述】:

我有这样的数据:

df:

Group   Point
A       6000
B       5000
C       1000
D        100
F        70

在绘制这个 df 之前,我只想删除数据框中超过 95% 的值。有没有人告诉我该怎么做?

【问题讨论】:

    标签: r


    【解决方案1】:

    使用quantile 函数

    > quantile(d$Point, 0.95)
     95% 
    5800 
    
    > d[d$Point < quantile(d$Point, 0.95), ]
      Group Point
    2     B  5000
    3     C  1000
    4     D   100
    5     F    70
    

    【讨论】:

      【解决方案2】:

      或使用“dplyr”库:

      > quantile(d$Point, 0.95)
       95% 
      5800
      
      > df %>% filter(Point < quantile(df$Point, 0.95))
        Group Point
      1     B  5000
      2     C  1000
      3     D   100
      4     F    70
      

      【讨论】:

      • 你甚至可以在不指定df:df %&gt;% filter(Point &lt; quantile(Point, 0.95))的情况下缩短一点。
      猜你喜欢
      • 1970-01-01
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 2017-09-29
      • 2022-11-15
      相关资源
      最近更新 更多