#r #timestamp
#r #временная метка
Вопрос:
Я должен использовать код для некоторой работы, которую я делаю, который работает идеально. Однако, чтобы ускорить это, ранее мы выбрали только необходимый диапазон времени для каждого файла bin, и в этом случае мне нужен полный день. Мои знания с POSIXct ограничены, я надеялся, что это будет так же просто, как выбор из часа 0-24, так что явно не в моей компетенции.
Я был бы признателен за любую помощь, и в идеале я хочу изменить только этот раздел, потому что это длинный скрипт, и это все, что требует редактирования.
# считывание данных за этот день с 8 утра до 6 вечера
Starttime = as.numeric(as.POSIXct(Day, format="%d/%m/%Y")) 8*60*60
Endtime = Starttime 10*60*60
Ответ №1:
Я не уверен, что понимаю вопрос, что-то вроде этого?
Day <- format(Sys.Date(), "%d/%m/%Y") # test date
Day <- as.POSIXct(Day, format = "%d/%m/%Y")
Starttime <- Day lubridate::hours(8)
Starttime
#[1] "2020-09-13 08:00:00 WEST"
Day lubridate::days(1) - lubridate::seconds(1)
#[1] "2020-09-13 23:59:59 WEST"
Если функции из пакета lubridate
будут использоваться чаще, загрузите пакет. Он имеет эквивалентные функции для многих других периодов, от picoseconds
до years
.
Примеры в вопросе о 8 и 10 часах могут быть такими, как показано ниже.
При необходимости результаты могут быть принудительно преобразованы в класс "numeric"
.
library(lubridate)
as.numeric(Starttime)
#[1] 1599980400
as.numeric(Day hours(8)) # the same as above
#[1] 1599980400
Endtime <- Starttime hours(10)
Endtime
#[1] "2020-09-13 18:00:00 WEST"
as.numeric(Day days(1) - seconds(1))
#[1] 1600037999
Комментарии:
1. Спасибо за быстрый ответ, я не очень хорошо сформулировал себя. В настоящее время у меня есть приведенный выше код, поскольку мы просматриваем файлы bin только в промежутке времени от 8 до 6 вечера, однако я не хочу ограничиваться этим временем и хочу изменить эти строки, чтобы включить все… таким образом, я получаю все 24 часа данных за все 26 дней
2. @DestinyLBradley Затем вы можете подмножество данных с логическими условиями, скажем,
i <- date >= Starttime amp; date < Endtime
, гдеdate
столбец даты файла данных. Без примерного набора данных трудно сказать.3. Я бы отправил примеры, но на самом деле я не могу в открытой форме: (хотя спасибо за вашу помощь