【问题标题】:Getting the last 6 months data in R在 R 中获取最近 6 个月的数据
【发布时间】:2021-12-01 01:44:55
【问题描述】:

我有包含许多行的数据框。这里是:

library(lubridate)

date_ <- date(seq(ymd_h("2020-01-01-00"), ymd_h("2021-03-31-23"), by = "hours"))
hour_ <- hour(seq(ymd_h("2020-01-01-00"), ymd_h("2021-03-31-23"), by = "hours"))

game1 <- sort(round(runif(length(date_), 10, 50), 0), decreasing = TRUE)
game2 <- sort(round(runif(length(date_), 20, 100), 0), decreasing = TRUE)
game3 <- sort(round(runif(length(date_), 30, 150), 0), decreasing = TRUE)
game4 <- sort(round(runif(length(date_), 40, 200), 0), decreasing = TRUE)

game_data <- data.frame(date_, hour_, game1, game2, game3, game4)

我只想对 game_data 进行子集化以获取所有过去 6 个月的数据。我如何获得它?

【问题讨论】:

    标签: r dplyr tidyr plyr


    【解决方案1】:

    max 日期开始的最近 6 个月的数据在数据中?

    你可以试试-

    library(lubridate)
    library(dplyr)
    
    result <- subset(game_data, date_ > max(date_) %m-% months(6))
    

    或者dplyr -

    result <- game_data %>% filter(date_ > max(date_) %m-% months(6))
    

    【讨论】:

    • 不错。这是我需要的解决方案
    猜你喜欢
    • 2022-07-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2021-11-28
    • 2019-12-02
    • 1970-01-01
    • 2019-08-16
    • 2021-11-21
    相关资源
    最近更新 更多