我有一個包含 7 列日期變數的資料框:start.date、end.date、date1、date2、date3、date4、date5。日期格式為 yyyy-mm-dd。
我想創建一個新變數,告訴我有多少 date1、date2、date3、date4、date5 落在 start.date 和 end.date 之間,使用 R,這可能嗎?
uj5u.com熱心網友回復:
您好,您可以%within%使用lubridate:
我使用的資料:
library(dplyr)
library(lubridate)
df <- nycflights13::flights |>
mutate(start = as_date(time_hour),
end = start days(5)) |>
slice(1:2) |>
select(start, end) |>
mutate(test_date = c("2013-01-10", "2013-01-03") |> ymd())
# A tibble: 2 × 3
start end test_date
<date> <date> <date>
1 2013-01-01 2013-01-06 2013-01-10
2 2013-01-01 2013-01-06 2013-01-03
測驗:
df |>
mutate(log_test = test_date %within% interval(start, end))
輸出是:
# A tibble: 2 × 4
start end test_date log_test
<date> <date> <date> <lgl>
1 2013-01-01 2013-01-06 2013-01-10 FALSE
2 2013-01-01 2013-01-06 2013-01-03 TRUE
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/529015.html
標籤:r日期
