#r #time #gps #conditional
#r #время #gps #условный
Вопрос:
У меня есть некоторые трекинги, похожие на приведенный ниже пример. Я хотел бы иметь возможность удалять строки, которые встречаются до 06:00 и после 18:00, то есть значения ночного времени.
tracks <- read.table(text = "
05/04/2015 16:04, 53.3854 , -6.29421
05/04/2015 17:17, 53.38464, -6.29412
05/04/2015 17:33, 53.38457, -6.29409
05/04/2015 17:49, 53.38463, -6.29418
05/04/2015 19:20, 53.38458, -6.29408
05/04/2015 19:49, 53.38452, -6.29394
05/04/2015 20:19, 53.38464, -6.29411
05/04/2015 21:20, 53.38441, -6.29421
06/04/2015 07:13, 53.38459, -6.29414
06/04/2015 08:30, 53.3846, -6.29414
06/04/2015 16:56, 53.38458, -6.29413
06/04/2015 17:05, 53.38469, -6.29416
06/04/2015 17:13, 53.38464, -6.29409
06/04/2015 17:26, 53.38463, -6.29412
06/04/2015 17:39, 53.38463, -6.29411
06/04/2015 19:51, 53.38465, -6.29411
06/04/2015 21:29, 53.38451, -6.29415"
, header = F, sep = ",")
Ответ №1:
Вы можете сделать это, сначала извлекая часы и минуты из V1
, а затем использовать это для подмножества строк track
:
hm <- strftime(as.POSIXct(tracks$V1, format="%m/%d/%Y %H:%M"), "%H:%M")
tracks <- tracks["06:00" < hm amp; hm < "18:00",]
## V1 V2 V3
##1 05/04/2015 16:04 53.38540 -6.29421
##2 05/04/2015 17:17 53.38464 -6.29412
##3 05/04/2015 17:33 53.38457 -6.29409
##4 05/04/2015 17:49 53.38463 -6.29418
##9 06/04/2015 07:13 53.38459 -6.29414
##10 06/04/2015 08:30 53.38460 -6.29414
##11 06/04/2015 16:56 53.38458 -6.29413
##12 06/04/2015 17:05 53.38469 -6.29416
##13 06/04/2015 17:13 53.38464 -6.29409
##14 06/04/2015 17:26 53.38463 -6.29412
##15 06/04/2015 17:39 53.38463 -6.29411
Ответ №2:
Решение lubdridate
:
library(lubridate)
time <- dmy_hm(tracks$V1)
tracks[!(hour(time) > 18 | hour(time)< 6),]
## V1 V2 V3
##1 05/04/2015 16:04 53.38540 -6.29421
##2 05/04/2015 17:17 53.38464 -6.29412
##3 05/04/2015 17:33 53.38457 -6.29409
##4 05/04/2015 17:49 53.38463 -6.29418
##9 06/04/2015 07:13 53.38459 -6.29414
##10 06/04/2015 08:30 53.38460 -6.29414
##11 06/04/2015 16:56 53.38458 -6.29413
##12 06/04/2015 17:05 53.38469 -6.29416
##13 06/04/2015 17:13 53.38464 -6.29409
##14 06/04/2015 17:26 53.38463 -6.29412
##15 06/04/2015 17:39 53.38463 -6.29411