如何解决使用日出和日落时间过滤时间序列数据
我正在尝试对介于日落和日出之间的数据进行子集化。 数据:
library(tidyverse)
library(lubridate)
library(suncalc)
dat <- tibble(datetime = seq(as.POSIXct('2020-08-03 00:00:00'),as.POSIXct('2020-08-09 12:00:00'),by=3600),var1 = rnorm(157,2,1),var2 = rnorm(157,3,5)) %>%
mutate(getSunlightTimes(date = as.Date(datetime,format = '%m/%d/%Y'),lat = 43.1,lon = -76.2,tz = 'America/New_York',keep = c('sunrise','sunset'))) %>%
select(c(datetime,var1,var2,sunrise,sunset))
然后我想对数据进行子集化,以便只保留 datetime
落在某一天的日出和日落之间的行。我试过了:
myrange <- as.interval(unique(dat$sunrise),unique(dat$sunset))
dat <- dat %>%
filter(datetime %within% myrange)
这会编译但会引发警告并且不包括它应该包含的所有数据行。提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。