【问题标题】:Is there a way to group by each week in R?有没有办法在R中每周分组?
【发布时间】:2022-01-24 20:54:45
【问题描述】:

我有股票数据,我想按每周分组并取收盘价和成交量的平均值。每周有连续 4 天。我可以使用 dplyr 做到这一点吗?

data<- structure(list(close = c(6.3, 6.25, 5.55, 5.55, 6.4, 6.05, 6.3, 
6.3, 6.7, 6.55), volume = c(140, 100, 1000, 0, 1200, 100, 200, 
0, 100, 400), date = structure(c(13720, 13721, 13724, 13725, 
13726, 13727, 13728, 13731, 13732, 13733), class = "Date")), row.names = c(NA, 
10L), class = "data.frame")

【问题讨论】:

    标签: r date tidyverse lubridate


    【解决方案1】:

    您可以使用“%U”或“%V”选项重新格式化日期以指示周数。

    data %>% group_by(format(date, "%Y%U")) %>%
       mutate(weeklyave=mean(close), weeklyvolume = mean(volume))
    

    【讨论】:

    • 我可以将 %Y%U 向量重新格式化为(年-周)吗?
    • 是的,任何唯一的周和年组合都可以使用,因此 "%Y-%U"、"%y-%V" 等。请注意,一年中的最后一周不是完整的每周 5/7 天
    猜你喜欢
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 2020-03-16
    • 2023-03-21
    • 2018-07-11
    相关资源
    最近更新 更多