我正在尝试计算名为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
我应该改变什么才能获得两种方式,一种用于所有休闲骑手,一种用于会员?
谢谢!
您用于计算平均值的向量
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))