在34年中,我每10分钟就有2个数据集。在其中之一中,观察仅每3小时进行一次,我只想与观察保持一致。它从午夜开始(包括)开始,例如:3 am、6am、9am等。
看起来像这样:
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")
答案 0 :(得分:0)
以下是带有向量的示例:
# 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)]