【问题标题】:Extreme values for combination of variables in RR中变量组合的极值
【发布时间】:2015-03-13 15:50:41
【问题描述】:

我有一个如下所示的数据集。现在我的问题很多。对于客户、任务和子任务的每种组合,我想排除前 10% 的极值。我想要输出 2 个数据集,一个是所有组合的极值,另一个是所有组合的正常值。

client  task    subtask time
a   abc t1  12
a   abc t2  23
b   xyz t3  334
c   ijk t1  1
c   ijk t1  12
b   xyz t1  12
a   xyz t2  23
b   ijk t3  24
a   ijk t2  344
c   xyz t3  34343
b   ijk t2  34
c   xyz t3  34
a   xyz t1  23
c   ijk t1  223
a   ijk t1  23
b   xyz t3  21
b   ijk t1  45
a   xyz t2  23
c   ijk t3  45

【问题讨论】:

    标签: r outliers


    【解决方案1】:

    您可以使用quantile 查找 10 % 的最高值:

    DF <- within(DF,
                 extreme <- ave(time, #your values
                                client, task, subtask, #grouping factors
                                FUN = function(x) x > quantile(x, 0.9)))
    

    然后使用子集提取你想要的值。

    【讨论】:

      【解决方案2】:

      您也可以使用dplyr 包来加快速度。

      DF %>% 
        group_by(client, task, subtask) %>% 
        mutate(extreme = time > quantile(time, .9))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-05
        • 2020-08-26
        • 1970-01-01
        • 2021-11-30
        • 1970-01-01
        • 2014-05-05
        • 1970-01-01
        相关资源
        最近更新 更多