如何计算两个日期时间列之间的平均时间?

问题描述 投票:0回答:1

我正在尝试计算名为start_at和end_at的两列之间花费的平均时间。它们的格式是“日期时间”。然后,我想显示我的结果 group_by 名为“member_casual”的列的值。到目前为止,这是我的代码:

# average time cycled by members vs casual riders

time_start <- paste(df$started_at, sep = " ")
time_end <- paste(df$ended_at, sep = " ")
time_trip <- difftime(time_end, time_start, tz = "CST", units = c("mins"))

df %>%
  group_by(member_casual) %>%
  summarise(mean(time_trip))

结果,我得到以下信息:

# A tibble: 2 × 2
  member_casual `mean(time_trip)`
  <chr>         <drtn>           
1 casual        9.396873 mins    
2 member        9.396873 mins   

我应该改变什么才能获得两种方式,一种用于所有休闲骑手,一种用于会员?

谢谢!

r datetime group-by mean
1个回答
0
投票

您用于计算平均值的向量

time_trip
不是分组数据框的一部分。如果无法访问任何示例数据,则不太清楚
time_start
time_end
的用途是什么,但假设
started_at
ended_at
是日期时间对象,您的管道可能看起来像这样:

df %>%
  mutate(time_trip = difftime(ended_at, started_at, units = "mins") %>% 
  group_by(member_casual) %>%
  summarise(mean_time = mean(time_trip))
© www.soinside.com 2019 - 2024. All rights reserved.