Я хотел бы рассчитать разницу между временами в R для каждого наблюдения, учитывая, что оно касается прибытия автобусов и расписаний.Пока у меня есть код:
for (i in ida1d$DATA_TRAMA) {
for (j in horidat$CORD4) {
if((ida1d$DATA_TRAMA - horidat$CORD4 < ida1d$diff)) {
ida1d$diff <- ida1d$DATA_TRAMA - horidat$CORD4
}
}
}
У меня есть эти кадры данных:
ida1d
, в котором есть конкретная информация, которую я хочу horidat
у которого есть расписания - и
ida1d$DATA_TRAMA
, и horidat$CORD4
в формате POSIXct %Y-m%-%d %H:%M:%S
.
Теперь я пытался создать столбец в ida1dТаблица с отличиями.Проблема состоит в том, что для первых нескольких наблюдений он правильно рассчитывает различия, но с определенной точки это не так, число наблюдений для horidat
(расписание) равно 75, а для ida1d
- 88, я думаю,проблема с вычислениями может быть из-за этого, таким образом, пытаясь приблизиться к проблеме с циклами for, но я думаю, что я что-то упускаю ...
Дата и время для ida1d - это время прибытия автобуса.на автобусной остановке в течение дня:
ida1d$DATA_TRAMA
[1] 2010-10-01 00:00:08
2010-10-01 00:29:45
2010-10-01 06:22:56
2010-10-01 06:38:55
2010-10-01 06:52:41
2010-10-01 07:05:08
2010-10-01 07:15:17
2010-10-01 07:25:14
2010-10-01 07:38:25
2010-10-01 07:44:55
2010-10-01 07:54:44
2010-10-01 08:05:05
2010-10-01 08:14:43
2010-10-01 08:24:11
2010-10-01 08:33:29
2010-10-01 08:46:26
2010-10-01 08:54:40
2010-10-01 09:04:34
2010-10-01 09:14:53
И это расписание для автобуса (horidat
)
horidat$CORD4
[2] 2010-10-01 00:00:00
2010-10-01 00:30:00
2010-10-01 06:25:00
2010-10-01 06:45:00
2010-10-01 07:00:00
2010-10-01 07:15:00
2010-10-01 07:30:00
2010-10-01 07:45:00
2010-10-01 07:57:00
2010-10-01 08:09:00
2010-10-01 08:21:00
2010-10-01 08:32:00
2010-10-01 08:43:00
2010-10-01 08:54:00
2010-10-01 09:06:00
2010-10-01 09:18:00
И я могу рассчитать разницу между [1] и[2] как мы можем видеть под результатами [3]:
ida1d$diff
Time differences in secs
[3] 8
-15
-124
-365
-439
-592
-883
-1186
-1115
-1445
-1576
-1615
-1697
-1789
-1951
-1894
-2120
-2246
Как мы можем видеть, все начинается хорошо, а затем ошибается в остальных вычислениях, и это моя проблема, ия хотел получить наименьшее значение разницы, которое должно быть в столбце для каждого наблюдения, возможно, оно использует другие значения и, следовательно, неправильные вычисления, я думаю ...