已关闭此问题为not reproducible or was caused by typos。它目前不接受回答。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
6天前关闭
Improve this question
我有一个数据集,看起来像这样
# A tibble: 24 × 3
datetime sunrise sunset
<dttm> <dttm> <dttm>
1 2021-09-01 00:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
2 2021-09-01 01:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
3 2021-09-01 02:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
4 2021-09-01 03:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
5 2021-09-01 04:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
6 2021-09-01 05:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
7 2021-09-01 06:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
8 2021-09-01 07:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
9 2021-09-01 08:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
10 2021-09-01 09:00:00 2021-09-01 07:42:27 2021-09-01 20:38:56
df <- tibble(
datetime = seq(as.POSIXct("2021-09-01 00:00:00"), as.POSIXct("2021-09-01 23:59:59"), by = "1 hour"),
sunrise = as.POSIXct("2021-09-01 07:42:27"),
sunset = as.POSIXct("2021-09-01 20:38:56")
)
我想在日落和日出之间过滤它,所以我有日期时间从00:00到07:00和21:00到24:00的行
我试过:filter(sunset <= datetime | datetime <= sunrise)
没有任何运气
2条答案
按热度按时间2ul0zpep1#
这个
filter
保留了datetime
不落在sunrise
和sunset
之间的区间内的行。创建于2023-09-20使用reprex v2.0.2
iyfamqjs2#
正如在评论中提到的,这相当于你已经发布了应该工作:
另一种方法是,如果由于某种原因
sunrise
和sunset
不能作为边界,您可以像这样修复条件:如果没有
lubridate
包:输出