我有以下数据:
set.seed(123)
timeseq <- as.Date(Sys.time() + cumsum(runif(1000)*86400))
data <- rnorm(1000)
df <- data.frame(timeseq,data)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人有关于如何data按周聚合的任何方法。我试图做的是绘制时间序列 ggplot,所以如果我可以跳过这一步并让 ggplot 处理它,那就更好了。一整天都被困在这个问题上。
另一种使用 dplyr 按周手动聚合的方法。
library(dplyr)
df$weeks <- cut(df[,"timeseq"], breaks="week")
agg <- df %>% group_by(weeks) %>% summarise(agg=sum(data))
ggplot(agg, aes(as.Date(weeks), agg)) + geom_point() + scale_x_date() +
ylab("Aggregated by Week") + xlab("Week") + geom_line()
Run Code Online (Sandbox Code Playgroud)
