r - 使用 dplyr 的一周中所有天的平均乘客数量

标签 r

这就是我的数据的样子。

# A tibble: 4,722,462 x 5
   started_at          member_casual weekday   ride_length month 
   <dttm>              <chr>         <fct>           <dbl> <fct> 
 1 2020-08-20 18:08:14 member        Thursday        0.160 August
 2 2020-08-27 18:46:04 casual        Thursday        1.15  August
 3 2020-08-26 19:44:14 casual        Wednesday       2.15  August
 4 2020-08-27 12:05:41 casual        Thursday        0.801 August
 5 2020-08-27 16:49:02 casual        Thursday        0.180 August
 6 2020-08-27 17:26:23 casual        Thursday        0.691 August
 7 2020-08-26 20:14:02 casual        Wednesday       0.333 August
 8 2020-08-26 21:59:50 casual        Wednesday       0.212 August
 9 2020-08-26 19:17:42 casual        Wednesday       0.242 August
10 2020-08-27 15:13:57 casual        Thursday        0.467 August
# ... with 4,722,452 more rows

我想按“工作日”和“member_casual”进行分组,然后汇总以获得一周中每一天的平均骑手数量,即“星期一”和“休闲”行:(星期一的次数& 休闲出现在数据中)/(给定时间范围内星期一的实际数量)。这是我最接近的一次。

#finding the total number of weeks in the given time frame.
weeks_ <-as.numeric(difftime(max(df2$started_at),min(df2$started_at),units="weeks"))
#assuming there are only complete weeks
df2 %>% group_by(weekday,member_casual)%>% summarise("Average Riders"=(n()/weeks_))

由于时间范围非常长,此输出并不准确,但足够准确。

weekday   member_casual `Average Riders`
   <fct>     <chr>                    <dbl>
 1 Monday    casual                   4404.
 2 Monday    member                   6688.
 3 Tuesday   casual                   4279.
 4 Tuesday   member                   7289.
 5 Wednesday casual                   4434.
 6 Wednesday member                   7648.
 7 Thursday  casual                   4447.
 8 Thursday  member                   7285.
 9 Friday    casual                   5807.
10 Friday    member                   7452.
11 Saturday  casual                   9366.
12 Saturday  member                   7612.
13 Sunday    casual                   7527.
14 Sunday    member                   6331.

最佳答案

library(dplyr)
df %>%
    group_by(weekday, member_casual) %>% 
    count()
  weekday   member_casual     n
  <chr>     <chr>         <int>
1 Thursday  casual            5
2 Thursday  member            1
3 Wednesday casual            4

关于r - 使用 dplyr 的一周中所有天的平均乘客数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69135403/

相关文章:

r - 将冒号分隔的列表解析为 data.frame

R:predict.lm() 无法识别对象

r - Shiny 应用程序 (R) 中的交互式目录输入

r - block 茎的循环或功能

r - 可以使用什么函数从颜色矩阵创建图像?

在 R 中读取 csv +unicode

r - gsub中的正则表达式问题

r - 是否可以在 mutate 中使用过滤器?

r - 使用 for 循环从一个基于值的值创建多个数据框

r - 如何在菜谱中添加自定义步骤