The Dyn4cast package is designed to be a lightweight package. The philosophy behind it was the need to provide quick updates and visualization of Nigerian COVID-19 cases during the pandemic in 2020, hence had only one function, DynamicForecast. The aim was to simplify the estimation, prediction and forecast of time-varying COVID-19 dataset, based on daily update of incidences. There was need to have a function which is able to handle continuous data collection, estimation and forecast. That was what led to the name of the package. From that single function, the number of functions have grown to more than 10 because there were need to have supporting functions to make the forecasting easy. However, the package has pride itself of the line line technology by providing various machine learning functions that have the functionality of revealing the facts behind your data. The functions are working optimally and efforts are continuously being made to improve on them and ensuring that dependencies are reduced to the barest minimum. The unique selling point of this package is that it takes away the need to load multiple libraries to perform the various machine learning tasks.
The released version of Dyn4cast can be installed from CRAN. The canonical form for CRAN is:
install.packages("Dyn4cast")
The development version is available now and can be installed from GitHub with:
# install.packages("devtools")
pak::pak("JobNmadu/Dyn4cast")The development version can also be installed through r-universe. Use the form:
install.packages("Dyn4cast", repos = c("https://jobnmadu.r-universe.dev", "https://cloud.r-project.org"))At present, the package exports the following functions:
-
DynamicForecastwhich takes two required arguments: theDataof any recognized format but should be a dataframe containing two columnsDateandCase. The Date is the day/month/year the data is collected while Case is the variable for forecasting. The Date must be in the recognized format i.e. ‘YYYY-MM-DD’. The other arguments parsed to the function areMaximumDate, which is the last date Data was collected andBREAKS, which is a vector of numbers and is used asknotsin estimating spline polynomials. -
Percentwhich affix the % sign on a value or a vector or data frame of values. -
MLMetricswhich collects more than 40 metrics that are useful in model selection. The beauty of this function is the simplicity with which these metrics are collected from difference packages and saves the user the need to load more than 10 libraries in order to get these metrics. -
MallowsCPfor determining the the Mallows CP. -
Linearsystemsfor linear regression model with some transformation. -
quicksummarywhich outputs a formatted table of useful summary statistics of machine learning data. -
formattedcutis a wrapper for providing publication ready frequency tables for continuous variable. -
data_transformis a wrapper for standardizingdata.frameto make the values comparable for estimation and/or visualization. -
estimate_plotis a function for plotting estimated coefficients of a model in their order of significance. -
corplotis for plotting the correlation matrix. -
garrett_rankingis for ranking Likert-type data. -
Model_factorsis for determining and retrieving latent factors from Likert-type data for estimation and Machine Learning. -
treatment_modelis for propensity matching treatments effects and other metrics in the Machine Learning Environment. -
mdiis for computation of multidimensional indicators and indices -
plot_mdiis to plot the indices -
genderis to convert age and sex to gender -
index_constructionis to convert indicators of exposure or sensitivity to vector of index -
relative_likertconverts likert scores to vector of index for adaptive capacity -
odds_summarycomputes odds ratios, percentage changes, and confidence intervals from fitted binary and categorical regression models
The citation information for this package can be obtained easily when
you run citation("Dyn4cast") in your R console.
citation("Dyn4cast")
#> To cite package 'Dyn4cast' in publications use:
#>
#> Nmadu J (2026). _Dyn4cast: Dynamic Modeling and Machine Learning
#> Environment_. R package version 11.11.26,
#> <https://github.com/JobNmadu/Dyn4cast>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Manual{,
#> title = {Dyn4cast: Dynamic Modeling and Machine Learning Environment},
#> author = {Job Nmadu},
#> year = {2026},
#> note = {R package version 11.11.26},
#> url = {https://github.com/JobNmadu/Dyn4cast},
#> }Although not dependencies, the package derives functionally from a number of other packages and so may require you to install them if not already installed on your machine. Some of the packages are listed below:
install.packages(c("testthat", "tidyverse", "rmarkdown", "covr"
"caret", "kableExtra", "knitr", "spelling", "psych",
"readr", "MetBrewer", "data.table", "ggtext", "lubridate",
"forecast", "MASS", "mlogit", "nnet", "betareg", "mvProbit",
"miscTools"))Note that a warning (not error) is thrown up while estimating the
RMSE for the Ensembled with equal weight model. It was thoroughly
investigated and causes no harm. Efforts are still on to silence the
warning, which I will soon. The warning is one of such issues that is
general to R. If you set your chunk option to warning = FALSE you
will not notice the warning.
The package is still very much in progress as such feedback, particularly at this developmental stage, would be greatly welcome and appreciated. Please fork your feedback at GitHub.
Mahoney, M. (2021). Model averaging methods: how and why to build ensemble models.
Hyndman, R. J. (2020). Quantile forecasting with ensembles and combinations in Business Forecasting: The Emerging Role of Artificial Intelligence and Machine Learning, eds. Gilliland, Tashman & Sglavo. John Wiley & Sons.
Hyndman, R.J., & Athanasopoulos, G. (2021). Forecasting: principles and practice, 3rd edition, OTexts: Melbourne, Australia. OTexts.com/fpp3. Accessed on July 30, 2021.
Lucy D’Agostino McGowan (2019). Understanding propensity score weighting. Available at: https://livefreeordichotomize.com/posts/2019-01-17-understanding-propensity-score-weighting/
Please note that the Dyn4cast project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
