你如何计算 R 中组的时间差异的平均值?

问题描述

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

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

这是我的代码,它使用了 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 天,这是错误的。

有什么建议吗?

解决方法

我希望这就是你要找的:

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