Gostaria de criar a data de início e término de um ano civil a partir de uma variável de ano civil (aqui 1991 a 2001) e encontrei uma solução:
library(lubridate)
library(dplyr)
df <- tibble(calendar_year = seq(1991, 2001, 1))
df |>
mutate(
calendar_year_start_date = ymd("1991-01-01") +
years(calendar_year - 1991),
calendar_year_end_date = ymd("1991-12-31") +
years(calendar_year - 1991 )
)
Resultado:
# A tibble: 11 × 3
calendar_year calendar_year_start_date calendar_year_end_date
<dbl> <date> <date>
1 1991 1991-01-01 1991-12-31
2 1992 1992-01-01 1992-12-31
3 1993 1993-01-01 1993-12-31
4 1994 1994-01-01 1994-12-31
5 1995 1995-01-01 1995-12-31
6 1996 1996-01-01 1996-12-31
7 1997 1997-01-01 1997-12-31
8 1998 1998-01-01 1998-12-31
9 1999 1999-01-01 1999-12-31
10 2000 2000-01-01 2000-12-31
11 2001 2001-01-01 2001-12-31
funciona; mas estou procurando uma solução mais elegante. Obrigado por qualquer dica!
Bem, os anos civis sempre começam e terminam na mesma data, então que tal isto:
Outra forma, usando
make_date
:Ou
Saída: