に落ちるヶ月を抽出します。例えば、lubridate間隔を考えるとlubridate間隔
start <- "2016-09-24"
finish <- "2016-11-02"
my_interval <- lubridate::interval(start, finish)
my_interval
> my_interval
[1] 2016-09-24 UTC--2016-11-02 UTC
私はこのケースでは、この間隔に分類ヶ月を抽出できるようにしたいと思います:
長年にわたりmy_months <- list(
"Aug" = interval("2016-08-01", "2016-08-31"),
"Sep" = interval("2016-09-01", "2016-09-30"),
"Oct" = interval("2016-10-01", "2016-10-31"),
"Nov" = interval("2016-11-01", "2016-11-30"),
"Dec" = interval("2016-12-01", "2016-12-31")
)
extract_months <- function(x, months) {
out <- vector(mode = "character")
for (i in seq_along(months)) {
in_month <- int_overlaps(x, months[[i]])
if (in_month) {
out[i] <- names(months)[i]
}
out <- out[!is.na(out)]
}
out
}
extract_months(x = my_interval, months = my_months)
> extract_months(x = my_interval, months = my_months)
[1] "Sep" "Oct" "Nov"
これはすぐにunwie次のようになります。
[1] "Sep" "Oct" "Nov"
これまでのところ、この時私の最高の試みは本当に不格好ですldy。私は誰かがより良い解決策を持っていることを望んでいる。
私はこの質問がSubset a dataframe between 2 dates
[2つの日付の間のデータフレームのサブセット]の複製が可能です(https://stackoverflow.com/questions/23622338/subset-a-dataframe-between-2-dates) – Masoud