我有這樣的數據集,它記錄在30分鐘步:R - 將30分鐘的數據幀聚合爲小時數據幀?
structure(list(Particles = c(0.596667, 0.27, 0.153333, 0, 0.753333,
0, 0.35, 0.506667, 1.6, 0.116667), PM = c(35.5158928571429, 16.0714285714286,
9.12696428571429, 0, 44.84125, 0, 20.8333333333333, 30.15875,
95.2380952380953, 6.94446428571429), timestamp = c(1493310389147,
1493310419191, 1493310449254, 1493310479270, 1493310509313, 1493310539387,
1493310569416, 1493310599465, 1493310629525, 1502378711339),
date = structure(c(1493310389.147, 1493310419.191, 1493310449.254,
1493310479.27, 1493310509.313, 1493310539.387, 1493310569.416,
1493310599.465, 1493310629.525, 1502378711.339), class = c("POSIXct",
"POSIXt"), tzone = "UTC-1"), site = c("ABC", "ABC",
"ABC", "ABC", "ABC", "ABC",
"ABC", "ABC", "ABC", "ABC"
), code = c("ABC", "ABC", "ABC",
"ABC", "ABC", "ABC", "ABC",
"ABC", "ABC", "ABC"), key_date = c("2017-04-27",
"2017-04-27", "2017-04-27", "2017-04-27", "2017-04-27", "2017-04-27",
"2017-04-27", "2017-04-27", "2017-04-27", "2017-08-10")), .Names = c("Particles",
"PM", "timestamp", "date", "site", "code", "key_date"), row.names = c(NA,
10L), class = "data.frame")
我怎麼能它聚集到每小時一步?我的列從一個數據框到另一個數據框有所不同,所以我需要一種聚合它的方式,以便它也可以應用於其他數據框。
編輯:
我試了一下:
res <- aggregate(Df['PM'], list(date = cut(as.POSIXct(Df$date), "1 hour")), sum)
但這只是給我留下兩列,其餘的都沒有了。我怎樣才能保持他們呢?
如何使用'cut'即'DF1 %>%group_by(小時=剪切(日期,休息=「小時」))%>%彙總(PM =總計(PM))' – akrun
@akrun我該怎麼做?我得到這個錯誤'警告:%>%中的錯誤:找不到函數「%>%」' – laukok
我假設你有'library(dplyr); df1%>%group_by(..' – akrun