1
イントロdplyr使用して「良い」休憩と時間によってデータフレームのグループ化:は
を私は10分のデータにいくつかの5分のデータを集計したいと思います。具体的には、10分のマーク(00:10:00、00:20:00、00:30:00など)に集約したいだけです。
以下のコードはほぼ達成されていますが、ブレークは10分のマーク(00:05:00、00:15:00、00:25:00)ではなく5分のマークです。私は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