【问题标题】:How do you calculate means for time differences for groups in R?您如何计算 R 中组的时间差均值?
【发布时间】:2021-04-11 00:38:22
【问题描述】:

我正在计算国家帆船队参加比赛的平均时间。

我想按国家/地区将团队分组以计算美国和日本的平均航行时间。

这是我的代码,它使用了 dplyr 函数的 group_by。

这是数据

   test <- data.frame("RACER" = c("USA",
                                   "JAPAN",
                                   "JAPAN"),
                        "TRIAL1" = c("2021-01-01",
                                      "2021-01-05",
                                      "2021-01-10"),
                       "TRIAL2" = c("2021-02-01",
                                    "2021-02-04",
                                    "2021-02-25"),
                        stringsAsFactors = FALSE)
    
    test$TRIAL1 <- as.Date(test$TRIAL1)
    test$TRIAL2 <- as.Date(test$TRIAL2)
    test$delay <- difftime(test$TRIAL2, test$TRIAL1) 
    test$delay <- as.double(test$delay)

  

这是我的代码:

t <- test %>% group_by(RACER) %>% 
  summarize(mn = mean(test$delay, na.rm=T))

日本和美国的平均天数都是 35.7 天,这是错误的。

有什么建议吗?

【问题讨论】:

    标签: r mean difftime


    【解决方案1】:

    我希望这是您正在寻找的:

    test %>%
      group_by(RACER) %>%
      summarise(mn = mean(delay, na.rm = TRUE))
    
    # A tibble: 2 x 2
      RACER    mn
      <chr> <dbl>
    1 JAPAN    38
    2 USA      31
    
    

    【讨论】:

    • 我的荣幸。如果我的回答对您有帮助,请随时接受,如果还有什么我可以帮助的,请告诉我。
    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    相关资源
    最近更新 更多