在r中每3小时对一组数据进行排序
我的确在34年中每10分钟有2个数据集。在其中一个例子中,每3小时只进行一次观察,我只想保留这些观察的线条。它从午夜开始(包括在内),像:凌晨3点、6点、9点等等 看起来像这样:在r中每3小时对一组数据进行排序,r,sorting,dataset,R,Sorting,Dataset,我的确在34年中每10分钟有2个数据集。在其中一个例子中,每3小时只进行一次观察,我只想保留这些观察的线条。它从午夜开始(包括在内),像:凌晨3点、6点、9点等等 看起来像这样: 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:2
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>
stn编码时间1 pcp\U类型
1 SIO-1981-01-01 02:00:00
2 SIO-1981-01-01 02:10:00
3 SIO-1981-01-01 02:20:00
4 SIO-1981-01-01 02:30:00
5-1981-01-01 02:40:00
6 SIO-1981-01-01 02:50:00
现在的想法是只保留每3小时对应的行,并删除其余的行
我看到了一些关于按值排序的解决方案(例如大于),但我没有找到一个可以帮助我按小时排序的解决方案(%H==3等)
先谢谢你
我已经将我的时间列排序如下:
SYNOP_SION$time1<-as.POSIXct(strptime(as.character(SYNOP_SION$time),format = "%Y%m%d%H%M"), tz="UTC")
SYNOP\n$time1以下是一个向量示例:
# 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)]
#创建采样时间数据
time1你能显示预期的输出吗?我没有示例,但我只想保留列“CODES”中有值的行,这意味着每3小时从午夜开始。你可以尝试以下内容:大家好,这是我找到的解决方案(因为我有每10分钟的数据,3小时=18X10分钟):TEMP_SION3$TEST2