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. Quiet all messages?
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) %>% head(10)
#> >>> Processing 2 date/time columns: 'dates', 'times'
#> Warning: argument 'pattern' has length > 1 and only the first element will be used
#> # A tibble: 10 × 14
#> dates_year dates_month dates_day dates_week dates_weekday dates_weekend
#> <dbl> <dbl> <int> <dbl> <chr> <lgl>
#> 1 2024 4 19 16 Fri FALSE
#> 2 2023 11 6 45 Mon FALSE
#> 3 2024 5 5 18 Sun TRUE
#> 4 2024 8 24 34 Sat TRUE
#> 5 2024 2 18 7 Sun TRUE
#> 6 2024 8 17 33 Sat TRUE
#> 7 2024 6 8 23 Sat TRUE
#> 8 2024 6 23 25 Sun TRUE
#> 9 2024 10 22 43 Tue FALSE
#> 10 2024 3 24 12 Sun TRUE
#> # ℹ 8 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>
# 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), ])
} # }