Releases: business-science/timetk
timetk 2.9.1
timetk 2.9.1
Highlights
- Smarter time parsing & sequencing. New internal generics and S3 methods make date/time parsing and future sequence generation more robust across
Date,POSIXct,hms,yearmon, andyearqtr. - Docs & site polish. Roxygen links modernized, vignette overhauled for anomaly workflows, and pkgdown styling refreshed.
- CI refresh. GitHub Actions updated to latest actions and small reliability fixes.
New
-
Internal generics/S3 methods (exported) for time handling:
convert_length_out_chr_to_num()with methods forDate,POSIXt,yearmon,yearqtr.list_to_datetime()with methods forPOSIXct,Date,hms,yearmon,yearqtr.lookup_defaults()with methods forPOSIXct,Date,hms,yearmon,yearqtr.
Improvements
-
Time sequence generation:
tk_make_timeseries()backend updated to use the newconvert_length_out_chr_to_num.*methods, improving support for calendar and sub-daily indexes. -
Parsing utilities:
list_to_datetime.*&lookup_defaults.*reduce edge cases in date/time parsing and default boundary lookups. -
Documentation links: Switched many references to fully qualified links (e.g.,
recipes::andanytime::) for clearer, clickable docs. -
Site/UX:
- Navbar and TOC color tweaks (
pkgdown/extra.css) for better contrast. - Navbar label: “Sequences & Data Structures” → “Time Sequences & Data Structures”.
- Navbar and TOC color tweaks (
-
Roxygen: Updated to
RoxygenNote: 7.3.2.
Bug fixes
- M4 dataset docs: Updated source URL to the current M4 competition page across all M4 datasets.
- Tests:
tk_tbl()test fortimeSeriesnow guarded withskip_if_not_installed()and creates the object inside the test for cleaner isolation.
Vignettes
- TK08_Automatic_Anomaly_Detection: Rewritten to use the
wikipedia_traffic_dailydataset and theanomalize()workflow (plot_anomalies*()family), with clearer decomposition, detection, and “cleaned” visualization steps.
CI / Build
-
test-coverage workflow:
actions/checkout→v4,actions/upload-artifact→v4.- More robust
findusage with quoted paths. - Added commented guidance for optional caching.
-
CRAN submission metadata updated for 2.9.1.
Breaking changes
- None.
Deprecations
- None.
Notes for users
- If you create future time sequences or parse specialized index classes, you should see improved behavior across index types with no code changes required.
Full Changelog: 2.9.0...2.9.1
timetk 2.9.0
timetk 2.9.0
Anomalize Integration:
anomalize R package is now available in timetk:
anomlize(): 1 function that breaks down, identifies, and cleans anomaliesplot_anomalies(): Visualize the anomalies and anomaly bandsplot_anomalies_decomp(): Visualize the time series decomposition. Make adjustments as needed.plot_anomalies_cleaned(): Visualize the before/after of cleaning anomalies.
Note - anomalize(.method): Only the .method = "stl" is supported at this time. The "twitter" method is also planned.
Timetk 2.8.1
Trelliscope Plotting
- Expose the
facet_trelliscope()plotting parameters.plot_time_series()plot_time_series_boxplot()plot_anomaly_diagnostics()
Timetk 2.8.0
New Features
Many of the plotting functions have been upgraded for use with trelliscopejs for
easier visualization of many time series.
-
plot_time_series():- Gets a new argument
trelliscope: Used for visualizing many time series. - Gets a new argument
.facet_strip_removeto remove facet strips since trelliscope is automatically labeled. - Gets a new argument
.facet_nrowto adjust grid with trelliscope. - The default argument for
facet_collapse = TRUEwas changed toFALSEfor better compatibility with Trelliscope JS. This may cause some plots to have multiple groups take up extra space in the strip.
- Gets a new argument
-
plot_time_series_boxplot():- Gets a new argument
trelliscope: Used for visualizing many time series. - Gets a new argument
.facet_strip_removeto remove facet strips since trelliscope is automatically labeled. - Gets a new argument
.facet_nrowto adjust grid with trelliscope. - The default argument for
.facet_collapse = TRUEwas changed toFALSEfor better compatibility with Trelliscope JS. This may cause some plots to have multiple groups take up extra space in the strip.
- Gets a new argument
-
plot_anomaly_diagnostics():- Gets a new argument
trelliscope: Used for visualizing many time series. - Gets a new argument
.facet_strip_removeto remove facet strips since trelliscope is automatically labeled. - Gets a new argument
.facet_nrowto adjust grid with trelliscope. - The default argument for
.facet_collapse = TRUEwas changed toFALSEfor better compatibility with Trelliscope JS. This may cause some plots to have multiple groups take up extra space in the strip.
- Gets a new argument
Updates & Bug Fixes
-
Recipes steps (e.g.
step_timeseries_signature()) use the newrecipes::print_step()function. Requiresrecipes >= 0.2.0. #110 -
Offset parameter in
step_log_interval()was not working properly. Now works. #103
Potential Breaking Changes
- The default argument for
.facet_collapse = TRUEwas changed toFALSEfor better compatibility with Trelliscope JS. This may cause some plots to have multiple groups take up extra space in the strip.
Timetk 2.7.0
New Features
-
tk_tsfeatures(): A new function that makes it easy to generate time series feature matrix usingtsfeatures. The main benefit is that you can pipe time series data intibbleswithdplyrgroups. The features will be produced by group. #95 #84 -
plot_time_series_boxplot(): A new function that makes plotting time series boxplots simple using a.periodargument for time series aggregation.
New Vignettes
- Time Series Clustering: Uses the new
tk_tsfeatures()function to perform time series clustering. #95 #84 - Time Series Visualization: Updated to include
plot_time_series_boxplot()andplot_time_series_regression().
Improvements
Improvements for point forecasting when the target is n-periods into the future.
time_series_cv(),time_series_split(): New parameterpoint_forecast. This is useful for testing / assessing the n-th prediction in the future. When set toTRUE, will return a single point that returns on the last value inassess.
Fixes
Timetk 2.6.2
Improvements
-
summarize_by_time(): Added a.week_startargument to allow specifying.week_start = 1for Monday start. Default is 7 for Sunday Start. This can also be changed with thelubridateby setting thelubridate.week.startoption. -
Plotting Functions:
- Several plotting functions gain a new
.facet_dirargument for adjusting the direction offacet_wrap(dir). #94 - Plot ACF Diagnostics (
plot_acf_diagnostics()): Change default parameter to.show_white_noise_bars = TRUE. #85 plot_timeseries_regression(): Can nowshow_summaryfor group-wise models when visualizing groups
- Several plotting functions gain a new
-
Time Series CV (
time_series_cv()): Add Label fortune_results -
Improve speed of
pad_by_time(). #93
Bug Fixes
-
tk_make_timeseries()andtk_make_future_timeseries()are now able to handle end of months. #72 -
tk_tbl.zoo(): Fix an issue whenreadr::type_convert()produces warning messages about not having character columns in inputs. #89 -
plot_time_series_regression(): Fixed an issue when lags are added to.formula. Pads lags with NA. -
step_fourier()andfourier_vec(): Fixed issue with step_fourier failing with one observation. Added scale_factor argument to override date sequences with the stored scale factor. #77