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 2024 10 1 40 Tue FALSE
#> 2 2025 6 15 24 Sun TRUE
#> 3 2024 11 16 46 Sat TRUE
#> 4 2025 6 22 25 Sun TRUE
#> 5 2025 5 26 21 Mon FALSE
#> 6 2024 7 28 30 Sun TRUE
#> 7 2024 7 9 28 Tue FALSE
#> 8 2025 7 1 26 Tue FALSE
#> 9 2025 3 13 11 Thu FALSE
#> 10 2025 1 29 5 Wed 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), ])
} # }