Данные округления, собранные с изменением 30-минутных интервалов в установленные 30-минутные - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть набор данных, в котором измерения были собраны с 30-минутными интервалами в течение четырехлетнего периода. Однако, поскольку эти данные были собраны в течение такого длительного периода, было несколько запусков и остановок на записывающем инструменте. Данные по-прежнему записываются с 30-минутными интервалами, но этот интервал не согласован в течение периода сбора.

Например, скажем, у меня есть данные за 100 дней с интервалом: "2015-08-01 09:03:00, 2015-08-01 09:33:00, 2015-08-01 10:03:00" и т. Д. *

Затем, после короткого перерыва следующие 50 дней выглядят примерно так: "2016-02-01 09:13:00, 2016-02-01 09:43:00, 2016-02-01 10:13:00" и т.д. ...

Я хотел бы применить что-то, что "округлило бы" данные в установленные 30-минутные интервалы, которые были бы постоянными на протяжении всех четырех лет, например: "2015-08-01 09:00:00, 2015-08-01 09:30:00, 2015-08-01 10:00:00" и т. Д.

Спасибо.

1 Ответ

0 голосов
/ 08 ноября 2018

lubridate имеет floor_date, который может сделать то, что вы ищете:

dates<-c("2016-02-01 09:13:00","2016-02-01 09:33:00")
floor_date(as_datetime(dates), unit="30 minutes")

[1] "2016-02-01 09:00:00 UTC" "2016-02-01 09:30:00 UTC"

Конечно, если один интервал, скажем, 9:29, а следующий - 10:02, у вас будет пропущенное значение в 9:30. Не уверен, как этого можно избежать, учитывая характер ваших данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...