Я использую GoPros для просмотра данных наблюдений различных видов в области.Поскольку GoPro разделяет видео на несколько клипов (с именем GOPR ###, GP01 ###, GP02 ###, ... для одного «развертывания».), Я пытаюсь объединить результаты этих нескольких клиповв этом одного видео.
Я создал пример набора данных ниже.
library(lubridate)
library(tidyverse)
set.seed(98765)
Sighting_Test <- data.frame(
Date = rep(seq(as.POSIXct("01-01-2018", format="%d-%m-%Y"), as.POSIXct("04-01-2018", format="%d-%m-%Y"), by="day"), each=10),
Deployment = as.factor(c(rep(1:4, each=10))),
Clip = c(rep(c("GOPR888", "GP01888"), each=5),
rep(c("GOPR890", "GP01890"), each=5),
rep(c("GOPR895", "GP01895"), each=5),
rep(c("GOPR901", "GP01901"), each=5)),
Start = ms(rep("00:00", 40)),
Finish = ms(rep(c("17:35", "13:45"), each=5, 4)),
Timestamp = ms(rep(c("00:00", "00:05", "00:10", "00:15", "00:20"), 8)),
SpA = floor(runif(40, 0,10)),
SpB = floor(runif(40, 0,10)),
SpC = floor(runif(40, 0,10))
)
Поскольку я отслеживаю виды на каждой отметке времени, я ищу набор данных, который регулирует отметку времениболее поздние клипы (GP01, GP02,…), чтобы иметь в виду время окончания предыдущего клипа.
Таким образом:
Date Deployment Video Start Finish Timestamp SpA SpB SpC
2018-01-01 1 GOPR888 0S 17M 35S 0S 1 7 0
2018-01-01 1 GOPR888 0S 17M 35S 5S 2 9 5
2018-01-01 1 GOPR888 0S 17M 35S 10S 1 5 6
2018-01-01 1 GOPR888 0S 17M 35S 15S 1 3 9
2018-01-01 1 GOPR888 0S 17M 35S 20S 6 7 8
2018-01-01 1 GP01888 0S 13M 45S 0S 3 9 8
2018-01-01 1 GP01888 0S 13M 45S 5S 4 5 2
2018-01-01 1 GP01888 0S 13M 45S 10S 3 3 0
2018-01-01 1 GP01888 0S 13M 45S 15S 6 4 7
Становится:
Date Deployment Video Start Finish Timestamp SpA SpB SpC
2018-01-01 1 GOPR888 0S 17M 35S 0S 1 7 0
2018-01-01 1 GOPR888 0S 17M 35S 5S 2 9 5
2018-01-01 1 GOPR888 0S 17M 35S 10S 1 5 6
2018-01-01 1 GOPR888 0S 17M 35S 15S 1 3 9
2018-01-01 1 GOPR888 0S 17M 35S 20S 6 7 8
2018-01-01 1 GP01888 0S 13M 45S 17M 35S 3 9 8
2018-01-01 1 GP01888 0S 13M 45S 17M 40S 4 5 2
2018-01-01 1 GP01888 0S 13M 45S 17M 45S 3 3 0
2018-01-01 1 GP01888 0S 13M 45S 17M 50S 6 4 7
(Поскольку время окончания предыдущего клипа равно 17:35, отметка времени становится 17:35 + 00: 05 = 17:40)
Раньше я делал это вручную, но так как это невероятно много времени, я ищу что-то более автоматизированное.И поскольку в прошлом я делал это вручную, я также понятия не имею, с чего начать искать решение.
Столбцы «Пуск», «Завершить» и «Отметка времени» классифицируются как объект hm
-period, однако, поскольку данные будут представлены в виде ##: ## текста, я открытиспользовать другой формат.