【发布时间】:2020-03-01 14:23:18
【问题描述】:
我正在尝试使用 googleAnalyticsR 自动向 Google Analytics 发出 API 请求。
问题在于,有这么多数据,必须将 Query 拆分成更小的块才能正确检索数据。
最后一个块应该取最后一个 API 调用的最后一天,总和 1 天。 end_date 应该是前一天。
我想要一种拆分大范围的方法,例如:2017-01-01 到 2020-02-21 以 5 天为一组,并使用每个块进行 API 调用,这样 API 就不会崩溃。
预期的data frame 输出:
starts ends
1 2017-01-01 2017-01-05
2 2017-01-06 2017-01-10
3 2017-01-11 2017-01-15
...
n 2020-02-17 today-minus-1-day
更新 1:
我在 Mark 的 github 存储库中找到了类似的代码。
它返回一个带有开始和结束日期的 df,以 montlhy 为基础。
add_months <- function(date, n){
seq(date, by = paste (n, "months"), length = 2)[2]
}
make_date_ranges <- function(start, end){
starts <- seq(from = start,
to = Sys.Date()-1 ,
by = "1 month")
ends <- c((seq(from = add_months(start, 1),
to = end,
by = "1 month" ))-1,
(Sys.Date()-1))
data.frame(starts,ends)
}
## useage
make_date_ranges(as.Date("2017-01-01"), Sys.Date())
最后 make_date_ranges 输出一个带有开始和结束日期的 df,以月为基础,我需要它输出 5 天范围的块。
【问题讨论】: