This function lets the user automatically create new columns out of a dataframe or vector with date/time variables.
Usage
date_feats(
dates,
drop = FALSE,
only = NA,
append = FALSE,
holidays = FALSE,
country = "Venezuela",
currency_pair = NA,
quiet = FALSE
)Arguments
- dates
Vector or dataframe. Non-date/time columns will be automatically ignored/extracted.
- drop
Boolean. Should the original date/time columns be kept in the results? Only valid when input is a dataframe.
- only
Character or vector. Which columns do you wish to process? If non are explicitly defined, all will be processed
- append
Boolean. Append results to existing data.frame? If FALSE, only calculated values will be returned.
- holidays
Boolean. Include holidays as new columns?
- country
Character or vector. For which countries should the holidays be included?
- currency_pair
Character. Which currency exchange do you wish to get the history from? i.e, USD/COP, EUR/USD...
- quiet
Boolean. Keep quiet? If not, informative messages will be shown.
See also
Other Data Wrangling:
balance_data(),
categ_reducer(),
cleanText(),
date_cuts(),
file_name(),
formatHTML(),
holidays(),
impute(),
left(),
normalize(),
num_abbr(),
ohe_commas(),
ohse(),
quants(),
removenacols(),
replaceall(),
replacefactor(),
textFeats(),
textTokenizer(),
vector2text(),
year_month(),
zerovar()
Other Feature Engineering:
holidays(),
ohse()
Other One Hot Encoding:
holidays(),
ohe_commas(),
ohse()
Examples
df <- data.frame(
dates = sample(seq(Sys.Date() - 365, Sys.Date(), by = 1), 50),
times = sample(seq(Sys.time() - 1e7, Sys.time(), by = 1), 50)
)
# Input as a vector or dataframe
date_feats(df, drop = TRUE, quiet = TRUE) %>% head(10)
#> # A tibble: 10 × 18
#> dates_year dates_month dates_day dates_week dates_weekday dates_weekend
#> <dbl> <dbl> <int> <dbl> <chr> <lgl>
#> 1 2025 2 3 5 Mon FALSE
#> 2 2025 10 18 42 Sat TRUE
#> 3 2025 3 21 12 Fri FALSE
#> 4 2025 10 25 43 Sat TRUE
#> 5 2025 9 28 39 Sun TRUE
#> 6 2024 11 30 48 Sat TRUE
#> 7 2024 11 11 46 Mon FALSE
#> 8 2025 11 3 44 Mon FALSE
#> 9 2025 7 16 29 Wed FALSE
#> 10 2025 6 3 22 Tue FALSE
#> # ℹ 12 more variables: dates_year_day <int>, times_year <dbl>,
#> # times_month <dbl>, times_day <int>, times_week <dbl>, times_weekday <chr>,
#> # times_weekend <lgl>, times_year_day <int>, times_hour <int>,
#> # times_minute <int>, times_minutes <int>, times_second <dbl>
# Holidays given a date range and country
if (FALSE) { # \dontrun{
hol <- date_feats(
seq(Sys.Date() - 365, Sys.Date(), by = 1),
holidays = TRUE,
country = "Venezuela"
)
head(hol[!is.na(hol$holiday_name), ])
} # }
