我正在尝试按日期(POSIXct)过滤 df。在这个 df 中,每个日期重复 13 次。我尝试了各种方法,但结果是一个空的 df,除非我指定一个长的 date_time 间隔(例如 1 年)。如果我使用长date_time间隔,df有数据但是和date_time间隔不一致!!!
|DateXct | sectname| Dist_m |TempAdj_C|
|:----------------- |:-------:|:------:|--------:|
|2022-12-16 16:30:06| W1 |29.13 |24.1514 |
|2022-12-16 16:30:06| W1 |30.14 |24.2424 |
|2022-12-16 16:30:06| W1 |31.15 |24.2242 |
|. | | | |
|. | | | |
|. 13 times | | | |
|2022-12-16 16:37:40| W1 |29.13 |24.1514 |
|2022-12-16 16:37:40| W1 |30.14 |24.2515 |
|2022-12-16 16:37:40| W1 |31.15 |24.2424 |
|2022-12-16 16:37:40| W1 |32.17 |24.2697 |
|. | | | |
|. | | | |
|. 13 times | | | |
我用过过滤功能:
dftest <- df %>%
filter(DateXct > '2022-12-16 16:30:06' & DateXct < '2022-12-16 16:52:45')
此外,“过滤”和“介于”功能(有和没有“as.POSIXct”和“格式”功能):
dftest <- df %>%
filter(between(DateXct, as.POSIXct('2022-12-17 02:11:26', format="%Y-%m-%d %H:%M:%S"), as.POSIXct('2022-12-16 16:52:45', format="%Y-%m-%d %H:%M:%S")))
函数子集:
subset(df, DateXct> "2022-12-16 16:30:06" & DateXct < "2022-12-16 16:52:45")
另一种选择:
df[(df$DateXct> "2022-12-16 16:30:06" & df$DateXct < "2022-12-16 16:52:45"),]
我的新df(dftest)总是空的