3
我有一個類似於下面「my_data」格式的數據集,其中每行是一個事件的單個計數。我想獲得每小時發生多少事件的總結。我希望每個小時都沒有包含任何事件的「hourly_total」值爲0。dplyr每小時和空時爲零
我可以dplyr達到這個如圖所示,但無聊的時間都下降了,而不是被設置爲0。
謝謝!
set.seed(123)
library(dplyr)
library(lubridate)
latemail <- function(N, st="2012/01/01", et="2012/1/31") {
st <- as.POSIXct(as.Date(st))
et <- as.POSIXct(as.Date(et))
dt <- as.numeric(difftime(et,st,unit="sec"))
ev <- sort(runif(N, 0, dt))
rt <- st + ev
}
my_data <- data_frame(fake_times = latemail(25),
count = 1)
my_data %>% group_by(rounded_hour = floor_date(fake_times, unit = "hour")) %>%
summarise(hourly_total = sum(count))
太棒了!我改變了你的最後一部分,以便在加入之後使用ungroup()來除掉多餘的變量,然後使用transmute()而不是mutate()。乾杯! – Michael 2014-12-01 22:55:40