У меня есть фрейм данных с большим количеством точек GPS, полученных из данных о движении животных. Я рассчитал расстояние между последовательными точками и сохранил его как отдельный столбец. Итак, мои данные выглядят так:
< Dist
TagID Date Time location.long location.lat Distance
FW 15.10.2018 02:12:14.000 26.8666632 41.6550714 0
FW 15.10.2018 02:15:22.000 26.8666077 41.655001 3.7
FW 15.10.2018 02:31:12.000 26.8666417 41.6551456 4.5
FW 15.10.2018 02:50:47.000 26.8665424 41.6549653 2.4
FW 15.10.2018 03:00:45.000 26.8665161 41.6549384 9.8
FW 15.10.2018 03:05:35.000 26.8665179 41.6549765 8.8
FW 16.10.2018 08:00:20.000 26.8664499 41.6549864 0
FW 16.10.2018 08:05:07.000 26.8664861 41.6550659 1.1
FW 16.10.2018 08:10:08.000 26.8665225 41.655125 7.5
FW 16.10.2018 08:15:06.000 26.866505 41.6550936 7.5
FW 16.10.2018 08:20:06.000 26.8664646 41.6550879 3.2
FW 16.10.2018 08:25:07.000 26.8635185 41.6515747 6.6
FW 16.10.2018 08:40:28.000 26.8664751 41.6550872 2.3
FW 17.10.2018 10:10:06.000 26.8735928 41.5852645 0
FW 17.10.2018 10:15:06.000 26.8455718 41.5654656 3.2
FW 17.10.2018 10:20:06.000 26.7989363 41.543988 4.5
FW 17.10.2018 10:25:06.000 26.7581078 41.5424566 3.4
FW 17.10.2018 10:30:06.000 26.7282547 41.560534 3.1
FW 17.10.2018 10:35:06.000 26.7184667 41.5541104 1.0
FW 17.10.2018 10:40:06.000 26.6363721 41.549993 6.8
FW 17.10.2018 10:45:06.000 26.6293603 41.5496727 0.5
FW 17.10.2018 10:50:06.000 26.6293732 41.5496753 11.2
FW 17.10.2018 10:55:06.000 26.6293623 41.5496688 7.8
FW 17.10.2018 11:00:06.000 26.6292996 41.549678 9.4
FW 17.10.2018 11:05:07.000 26.6293224 41.5496449 1.2
FW 18.10.2018 08:40:06.000 26.6294363 41.5496057 0
FW 18.10.2018 08:45:06.000 26.6294137 41.5496145 16.3
FW 18.10.2018 08:50:06.000 26.6294167 41.5496079 12.4
FW 18.10.2018 08:55:06.000 26.6294302 41.549607 22.0
FW 18.10.2018 09:00:06.000 26.6294248 41.5496141 4.3
FW 18.10.2018 09:05:06.000 26.6294258 41.549612 2.1
FW 18.10.2018 09:10:06.000 26.6294335 41.5496148 0.6
FW 18.10.2018 09:15:06.000 26.6294349 41.5496131 1.6
FW 18.10.2018 09:20:06.000 26.6294279 41.5496086 11.6
FW 18.10.2018 09:25:06.000 26.6294394 41.5496087 2.3
FW 18.10.2018 09:30:07.000 26.6294366 41.5496005 1.8
FW 18.10.2018 09:35:06.000 26.6294161 41.5496169 7.5
FW 18.10.2018 09:40:06.000 26.6294205 41.5496155 12.6
FW 18.10.2018 09:45:07.000 26.6294313 41.5496143 5.9
В другом фрейме данных («Строки») у меня есть следующая информация:
< Rows
Date Row_number
15.10.2018 4
16.10.2018 5
17.10.2018 9
18.10.2018 12
Значения в "Row_number" показывают номер строки из первого кадра данных, который представляет для меня особый интерес. Так что мне нужно использовать второй фрейм данных («Строки») в качестве источника информации. Исходя из этого для «Dist» мне нужно вычислить сумму значений в столбце «Distance» от первой строки до номера строки, указанного в кадре данных «Rows» для каждой конкретной даты. Так, например, для 15.10.2018 мне нужно сложить расстояния до четвертого ряда - 0 + 3,7 + 4,5 + 2,4 = 10,6. За 17.10.2018 сумма от первого ряда дня до 9-го ряда и т. Д.
Итак, я полагаю, что сначала я должен разбить данные по датам, чтобы создать отдельные единицы, а затем каким-то образом использовать сапли?
sp <- split(Dist, Dist$Date)
sapply(sp, function(sp){.....