关于时间序列:R:如何将每日数据的小标题下采样为每周星期一的数据? | 珊瑚贝

R: How to downsample a tibble with daily data to weekly Mondays data?


在使用 Pandas 的 Python 中,您可以使用 df.resample(‘W-MON’).ffill() 来完成。 R 中的等价物是什么?

到目前为止,我有这个,但是它使用周末数据重新采样,并且代码已经看起来不太可读:

1
2
3
4
downsample_weekly <- function(tbl, DATE) {
  ds_ts <- xts(tbl, order.by = as.POSIXct(tbl$DATE))
  as_tibble(ds_ts[endpoints(ds_ts,”weeks”)])
}
  • 您能否详细说明”将每日数据下采样到每周星期一数据”的含义?我不明白你想要什么作为你的分析结果。
  • 我在 pandas 方面没有大量经验,但是 pd.resample 可以让您通过函数进行总结,例如 mean。这是您想要获得的功能吗?您能否更清楚地了解您想要什么,例如每个星期一索引的数据框,其值是该周值的平均值?


您想在某个数据字段中提取对应于星期一的小标题行吗?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
library(tidyverse)
library(lubridate)

# Example data
foo <- data_frame(Date = seq(ymd(“2018-01-01”), ymd(“2018-01-31”), length.out = 31),
                  Bar = runif(31))

foo %>%
  filter(weekdays(Date) ==”Monday”)

#> # A tibble: 5 x 2
#>   Date         Bar
#>   <date>     <dbl>
#> 1 2018-01-01 0.865
#> 2 2018-01-08 0.119
#> 3 2018-01-15 0.778
#> 4 2018-01-22 0.440
#> 5 2018-01-29 0.550

不清楚你的代码为什么使用 xts.


来源:https://www.codenong.com/49759152/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?