I’ve provided the complete GitHub repository implementing the app, the models, and the Actions at github. com/revodavid/mlops r gha. If you want to try it out yourself, all you need to do is clone the repo, follow the instructions to add secrets to your repository and set up the Shiny VM, and then trigger the Actions to build everything. The repository also includes links to references and other resources, including how to create a free Azure subscription with credits you can use to test everything out. If you have any questions you suggestions, please feel free to add an issue to the repository!Imported string data is no long converted to factors.
The stringsAsFactors option, which since R’s inception defaulted to TRUE to convert imported string data to factor objects, is now FALSE. This default was probably the biggest stumbling block for prior users of R: it made statistical modeling a little easier and used a little less memory, but at the expense of confusing behavior on data you probably thought was ordinary strings. This change broke backward compatibility for many packages mostly now updated on CRAN, and likely affects your own scripts unless you were diligent about including explicit stringsAsFactors declarations in your import function calls. An enhanced reference counting system. When you delete an object in R, it usually releases the associated memory back to the operating system.
In prior versions of R, however, that system breaks down if there are more than 2 references to any block of memory. Starting with R 4. 0. 0, all references will be counted, and so R should reclaim as much memory as possible, reducing R’s overall memory footprint. This will have no impact on how you write R code, but this change make R run faster, especially on systems with limited memory and with slow storage systems. Many of these issues spring from the fact that it uses only base R functions, in particular install.
packages, to do its work. The problem is that install. packages is meant for interactive use, and as an API, is very limited. For starters, it doesn’t return a result to the caller—instead, checkpoint has to capture and parse the printed output to determine whether the installation succeeded. This causes a host of problems, since the printout will vary based on how R is configured.
Similarly, install. packages refuses to install a package if it’s in use, which means checkpoint must unload it first—an imperfect and error prone process at best. The R examples demonstrate several techniques for forecasting time series, specifically data on refrigerated orange juice sales from 83 stores sourced from the the bayesm package. The forecasting techniques vary mean forecasting with interpolation, ARIMA, exponential smoothing, and additive models, but all make extensive use of the tidyverts suite of packages, which provides “tidy time series forecasting for R”. The forecasting methods themselves are explained in detail in the book readable online Forecasting: Principles and Practice by Rob J Hyndman and George Athanasopoulos Monash University.