1
介紹「好」遊:一個分組數據框的時間用dplyr
我想大約5分鐘的數據聚合成10分鐘數據。具體來說,我只想彙總10分鐘的標記(00:10:00,00:20:00,00:30:00等)。
下面的代碼幾乎可以達到此目的,但休息時間爲5分鐘而非10分鐘時間(00:05:00,00:15:00,00:25:00)。我認爲dplyr
在確定分界點時正在使用數據框中的第一行。
有什麼方法可以使用cut {base}
和group_by() {dplyr}
來實現「漂亮」的10分鐘休息嗎?我只需刪除第一行數據即可,但我確實需要解決方案來管理許多不同的文件,每個文件都有獨特的起點。
提前致謝!
例如代碼:
date <- c("2017-06-14 14:35:00", "2017-06-14 14:40:00", "2017-06-14 14:45:00", "2017-06-14 14:50:00")
co <- as.numeric(c(5.17,10.07,13.88,13.78))
no <- as.numeric(c(34.98,32.45,31.34,29.09))
no2 <- as.numeric(c(0.00,0.00,0.00,0.00))
o3 <- as.numeric(c(5.17,10.07,13.88,13.78))
data <- data.frame(date, co, no , no2, o3)
data$date <- strptime(data$date, format = "%Y-%m-%d %H:%M")
data$date <- as.POSIXct(data$date)
head(data)
data_10min <- data %>%
group_by(date = cut(date, breaks = "10 min")) %>%
summarize(co = mean(co), no = mean(no), no2 = mean(no2), o3 = mean(o3))
head(data_10min)
所需的輸出:
2017-06-14 14:40:00
2017-06-14 14:50:00
謝謝!這足以滿足我需要做的事情。 – spacedSparking