【发布时间】:2020-05-08 15:25:04
【问题描述】:
我正在对包含停车交易的数据框进行报告。数据框有两个名为 start_time 和 end_time 的 POSIXct 变量。它们的外观示例如下:
2019-11-25 10:35:00 UTC" "2019-11-28 18:21:00 UTC"
我想从"2020-02-06" 到"2020-03-23" 获取我的数据框的一个子集。
在此期间肯定发生了交易,但是当我使用以下代码时,我得到了一个观察值为零的子集。
cutdate<- as.Date("2020-03-23",format ="%Y-%m-%d")
bdate<-as.Date("2020-06-02",format ="%Y-%m-%d")
dwdf%>% filter(as.Date(start_time) >= bdate & as.Date(end_time) < cutdate)->Bdf
我尝试过其他功能,例如子集等,但我得到了同样的结果。然后我尝试了一些更简单的方法,并尝试从变量 start_time 中查看是否创建了一个简单的布尔表达式,例如
any(as.Date(dwdf$start_time) > bdate)
如果我得到任何 TRUE,但我得到的只是 false。我不明白为什么会这样,因为如果我这样做range(start_time)
有明显的开始时间晚于 2 月 6 日。
我也看过关于堆栈交换的类似问题,但我不知道为什么我得到不同的结果,因为我正在实施他们所说的。
【问题讨论】:
标签: r dplyr boolean posixct as.date