我有一个名为data1的数据框:
dput(DATA1)
structure(list(Time = structure(c(1421561100, 1421561100, 1421564700,
1421564700, 1421568300, 1421568300, 1421571900), class = c("POSIXct",
"POSIXt"), tzone = "America/New_York"), Server1 = c(0.75, 1,
0.82, 1, 0.75, 1.08, 0.92)), .Names = c("Time", "Server1"), row.names = c(1L,
13L, 2L, 14L, 3L, 15L, 4L), class = "data.frame")
正如您在同一时间段所看到的,我有多个数据点。我需要修改此数据框并仅包含同一时间段的最大值。
例如,对于时间段(" 2015-01-18 01:05:00"),我看到0.75和1.00,我需要在那段时间内仅包括1.00。任何想法如何可以这样做,删除重复的时间,只包括最大值?
答案 0 :(得分:3)
> require(dplyr)
> data1 %>% group_by(Time) %>% filter(Server1 == max(Server1))
Source: local data frame [4 x 2]
Groups: Time
Time Server1
1 2015-01-18 01:05:00 1.00
2 2015-01-18 02:05:00 1.00
3 2015-01-18 03:05:00 1.08
4 2015-01-18 04:05:00 0.92