【发布时间】:2016-09-24 00:27:38
【问题描述】:
在给定每台服务器的 max(used) 列的情况下,我正在尝试确定每天的峰值使用时间:
DATE DATETIME Server MACH Capacity Used
9/16/2016 9/16/2016 12:00 cpu1 A 22256 17939
9/16/2016 9/16/2016 13:00 cpu1 A 22256 12591
9/16/2016 9/16/2016 14:00 cpu1 A 22256 15834
9/16/2016 9/16/2016 15:00 cpu2 B 22256 14095
9/16/2016 9/16/2016 16:00 cpu2 B 22256 18186
9/16/2016 9/16/2016 17:00 cpu2 B 22256 12637
在此数据框中,cpu1 的日期为 2016 年 9 月 16 日,使用的最大值为 17939,它发生在 2016 年 9 月 16 日 12:00
我正在尝试使用 data.table 包,并且可以像这样选择使用的最大值:
df<-data.table(df)
df<-df[,peak_used:=max(Used), by=c("Server","DATE")]
我还需要提取高峰时段并创建一个新列作为高峰列并在其中插入日期和时间?
任何想法如何提取用于该 DATE 的最大 DATETIME 峰值?
【问题讨论】:
-
你可以试试
df[, peaktime := DATETIME[which.max(Used)], by = .(Server, DATE)]
标签: r