我有一个具有以下特征的数据框(tsibble)。还有其他STAT_NAME的最大值也较低。
STAT_NAME最大 DB时间83487.082433 sql执行时间83322.591389 DB CPU 63712.585025 PL / SQL执行时间620.239918 硬解析(共享条件)时间215.748621
我想让STAT_NAME的(组)最大保留大于500或适当的特定限制。在这种情况下,为500。我看到了一些用于查找最大行的示例,但是我试图消除具有非常低值的组。几乎是一个噪音过滤器。我需要保留峰值较高的组,因为这是性能数据。消除具有“非常小的”值的组。基于时间的信息(如果有用)。
就像是:
tsallstm有
SNAP_TIME STAT_NAME SECONDS 2021-02-16 13:31:42 PL / SQL执行经过的时间.303316 2021-02-16 13:31:42 DB CPU 158.935656 2021-02-16 13:31:42 sql执行经过的时间165.082876 2021 -02-16 13点31分42秒DB工作时间345.022309 2021年2月16日14时01分42秒的PL / SQL执行所用时间0.28558 2021年2月16日14时01分42秒SQL执行经过时间158.518897 2021年2月16日14:01:42 DB CPU 165.750627 2021-02-16 14:01:42 DB时间347.531669 2021-02-16 14:31:42 PL / SQL执行经过的时间.297387 2021-02-16 14:31:42 sql执行经过的时间190.519756 2021-02-16 14:31:42 DB CPU 209.100002 2021-02-16 14:31:42 DB时间443.938258
newtsibble <-tsallstm%<%过滤器(groupswithvalues,其中maxgroupvalue> lowerlimitvalue)
约翰
如果您首先按STAT_NAME分组,则下面一行中的max
calcfilter
将在每个分组中找到最大SECONDS(在这种情况下,将删除所有NA)。这样,您将获得组的最大值,并且过滤器将包含组的最大值> 500的任何项目。
tsallstm %>%
group_by(STAT_NAME) %>%
filter(max(SECONDS, na.rm = TRUE) > 500) %>%
ungroup()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句