Вы можете указать время до "numeric"
и посмотреть, находится ли оно в пределах 1030:1200
.
load_dataset[as.numeric(strftime(load_dataset$date, "%H%M")) %in% 1030:1200, ]
# date V3 V4
# 3 2020-01-02 10:30:00 3 hutr
# 4 2020-01-02 11:00:00 2 uff
# 5 2020-01-02 11:30:00 4 wwe
# 6 2020-01-02 12:00:00 1 vev
Примечание: Это решение предполагает формат "POSIXct"
для столбца date
; если это не так, используйте это раньше:
load_dataset$date <- as.POSIXct(load_dataset$date)
Этот принцип также работает для объектов "реального" временного ряда, таких как "xts"
.
load_dataset.xts[
as.numeric(strftime(as.POSIXct(attr(load_dataset.xts, "index"),
origin="1970-01-01"), "%H%M")) %in% 1030:1200, ]
# V3 V4
# 2020-01-02 10:30:00 "3" "hutr"
# 2020-01-02 11:00:00 "2" "uff"
# 2020-01-02 11:30:00 "4" "wwe"
# 2020-01-02 12:00:00 "1" "vev"
Данные:
load_dataset <- structure(list(date = structure(c(1577953800, 1577955600, 1577957400,
1577959200, 1577961000, 1577962800, 1577964600), class = c("POSIXct",
"POSIXt"), tzone = ""), V3 = c(1L, 2L, 3L, 2L, 4L, 1L, 2L), V4 = c("gdss",
"jojo", "hutr", "uff", "wwe", "vev", "wow")), row.names = c(NA,
-7L), class = "data.frame")
load_dataset.xts <- structure(c("1", "2", "3", "2", "4", "1", "2", "gdss", "jojo",
"hutr", "uff", "wwe", "vev", "wow"), .Dim = c(7L, 2L), .Dimnames = list(
NULL, c("V3", "V4")), index = structure(c(1577953800, 1577955600,
1577957400, 1577959200, 1577961000, 1577962800, 1577964600), tzone = "", tclass = c("POSIXct",
"POSIXt")), class = c("xts", "zoo"))