如何筛选含重复POSIXct时间的DataFrame?筛选结果为空问题排查
POSIXct类型时间列筛选结果为空的问题
我有一个包含POSIXct类型时间列DateXct的DataFrame,每个时间值重复13次。尝试多种方法进行时间筛选时,除设置长达1年的时间区间外,结果均为空DataFrame;若设置长区间,返回的数据也与指定区间不符。
数据示例
| 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次) | |||
| 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 |
| ...(该时间点重复13次) |
已尝试的筛选方法
- 使用
dplyr的filter函数:
dftest <- df %>% filter(DateXct > '2022-12-16 16:30:06' & DateXct < '2022-12-16 16:52:45')
- 结合
filter与between函数(尝试过含/不含as.POSIXct和format参数的写法):
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")))
- 使用基础R的
subset函数:
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"),]
问题现象
所有上述筛选方法得到的新DataFrame(dftest)始终为空。
内容的提问来源于stack exchange,提问作者Laure
相关产品推荐
相关产品推荐

