gpt4 book ai didi

r - 数据帧行之间的时间差

转载 作者:行者123 更新时间:2023-12-02 01:07:19 25 4
gpt4 key购买 nike

我已经在 StackOverflow 的 R 部分进行分区很长时间了,以寻找合适的答案,但似乎没有任何东西适用于我的问题。我有一个这种格式的数据集(我已经将其调整为似乎最容易使用的方法,但 stop_sequence 值通常只是每次停止的增量数字):

route_short_name    trip_id                     direction_id    departure_time  stop_sequence 
33A 1.1598.0-33A-b12-1.451.I 1 16:15:00 start
33A 1.1598.0-33A-b12-1.451.I 1 16:57:00 end
41C 10.3265.0-41C-b12-1.277.I 1 08:35:00 start
41C 10.3265.0-41C-b12-1.277.I 1 09:26:00 end
41C 100.3260.0-41C-b12-1.276.I 1 09:40:00 start
41C 100.3260.0-41C-b12-1.276.I 1 10:53:00 end
114 1000.987.0-114-b12-1.86.O 0 21:35:00 start
114 1000.987.0-114-b12-1.86.O 0 22:02:00 end
39 10000.2877.0-39-b12-1.242.I 1 11:15:00 start
39 10000.2877.0-39-b12-1.242.I 1 12:30:00 end

它基本上是一个公共(public)汽车行程数据集。我想要的只是设法获得每次旅行的持续时间,所以像这样:

route_short_name    trip_id                    direction_id    duration
33A 1.1598.0-33A-b12-1.451.I 1 42
41C 10.3265.0-41C-b12-1.277.I 1 51
41C 100.3260.0-41C-b12-1.276.I 1 73
114 1000.987.0-114-b12-1.86.O 0 27
39 10000.2877.0-39-b12-1.242.I 1 75

我已经尝试了很多方法,但在任何情况下我都无法按 trip_id 对数据进行分组,然后每次都处理这两个值。我一定是误会了什么,但我不知道是什么。

有人知道吗?

最佳答案

我们也可以在不转换为“宽”格式的情况下执行此操作(假设每个“route_short_name”、“trip_id”和“direction_id”的“stop_sequence”是“start”后跟“end”。

将'departure_time' 转换为日期时间列,按'route_short_name'、'trip_id' 和'direction_id' 分组,得到last 'departure_time 的difftime '与'第一个''departure_time'的那个

df1 %>%
mutate(departure_time = as.POSIXct(departure_time, format = '%H:%M:%S')) %>%
group_by(route_short_name, trip_id, direction_id) %>%
summarise(duration = as.numeric(difftime(last(departure_time), first(departure_time), unit = 'min')))
# A tibble: 5 x 4
# Groups: route_short_name, trip_id [?]
# route_short_name trip_id direction_id duration
# <chr> <chr> <int> <dbl>
#1 114 1000.987.0-114-b12-1.86.O 0 27
#2 33A 1.1598.0-33A-b12-1.451.I 1 42
#3 39 10000.2877.0-39-b12-1.242.I 1 75
#4 41C 10.3265.0-41C-b12-1.277.I 1 51
#5 41C 100.3260.0-41C-b12-1.276.I 1 73

关于r - 数据帧行之间的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46985111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com