如何在R语言中计算车辆各站点的实际载客量
解决方案
你可以通过计算每站载客变化量的累积和来得到各站点的实际载客量,具体实现如下:
完整代码
library(tibble) library(dplyr) tibble( station = c(1,2,3,4), passenger_increment_in = c(22, 23, 25, 25), passenger_increment_out = c(50, 50, 50, 53) ) %>% mutate( passenger_in = passenger_increment_in - lag(passenger_increment_in), passenger_out = passenger_increment_out - lag(passenger_increment_out), # 计算载客量:第一站无前置数据设为NA,后续站点累积求和载客变化量 passenger_load = c(NA, cumsum((passenger_in - passenger_out)[-1])) )
逻辑说明
- 先计算每站的载客变化量:
passenger_in - passenger_out,即当前站上车人数减去下车人数 - 第一站没有前序载客数据,所以载客量设为
NA - 从第二站开始,对载客变化量做累积求和,得到当前站点的实际载客量:
- 第二站:
1 - 0 = 1 - 第三站:
1 + (2 - 0) = 3 - 第四站:
3 + (0 - 3) = 0
- 第二站:
运行结果
# A tibble: 4 × 6 station passenger_increment_in passenger_increment_out passenger_in passenger_out passenger_load <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 1 22 50 NA NA NA 2 2 23 50 1 0 1 3 3 25 50 2 0 3 4 4 25 53 0 3 0
内容的提问来源于stack exchange,提问作者alex
相关产品推荐
相关产品推荐

