Сортировка набора данных за каждые 3 часа в г - PullRequest
0 голосов
/ 08 июля 2019

У меня есть 2 набора данных за 10 минут на 34 года. В одном из них наблюдения проводятся только каждые 3 часа, и я хотел бы сохранить только те линии, которые соответствуют этим наблюдениям. Он начинается в полночь (входит в комплект) и работает следующим образом: 3:00, 6:00, 9:00 и т. Д.

выглядит так:

stn CODES               time1 pcp_type
1 SIO     - 1981-01-01 02:00:00     <NA>
2 SIO     - 1981-01-01 02:10:00     <NA>
3 SIO     - 1981-01-01 02:20:00     <NA>
4 SIO     - 1981-01-01 02:30:00     <NA>
5 SIO     - 1981-01-01 02:40:00     <NA>
6 SIO     - 1981-01-01 02:50:00     <NA> 

Теперь идея состоит в том, чтобы сохранить только те строки, которые соответствуют каждые 3 часа, и удалить остальные.

Я видел какое-то решение о сортировке по значению (например, больше, чем), но я не нашел решения, которое могло бы помочь мне сортировать по часам (% H == 3 и т. Д.).

Заранее спасибо.

Я уже отсортировал столбец времени следующим образом:

SYNOP_SION$time1<-as.POSIXct(strptime(as.character(SYNOP_SION$time),format = "%Y%m%d%H%M"), tz="UTC")

1 Ответ

0 голосов
/ 08 июля 2019

Вот пример с вектором:

# Creating sample time data
time1 <- seq(from = Sys.time(), length.out = 96, by = "hours")

# To get a T/F vector you can use to filter
as.integer(format(time1, "%H")) %in% seq.int(0, 21, 3)

# To see the filtered POSIXct vector:
time1[as.integer(format(time1, "%H")) %in% seq.int(0, 21, 3)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...