## ----html-style, results='asis', echo=FALSE----------------------------------- cat(" ") ## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE) library(olr) library(ggplot2) ## ----------------------------------------------------------------------------- # Load data crudeoildata <- read.csv(system.file("extdata", "crudeoildata.csv", package = "olr")) dataset <- crudeoildata[, -1] # Define variables responseName <- 'CrudeOil' predictorNames <- c('RigCount', 'API', 'FieldProduction', 'RefinerNetInput', 'OperableCapacity', 'Imports', 'StocksExcludingSPR', 'NonCommercialLong', 'NonCommercialShort', 'CommercialLong', 'CommercialShort', 'OpenInterest') ## ----------------------------------------------------------------------------- # Full model using R-squared model_r2 <- olr(dataset, responseName, predictorNames, adjr2 = FALSE) # Adjusted R-squared model model_adjr2 <- olr(dataset, responseName, predictorNames, adjr2 = TRUE) ## ----plot-r2-line, fig.align="center", fig.width=6.3, fig.height=4.5, out.width='99%'---- # Actual values actual <- dataset[[responseName]] fitted_r2 <- model_r2$fitted.values fitted_adjr2 <- model_adjr2$fitted.values # Data frames for ggplot plot_data <- data.frame( Index = 1:length(actual), Actual = actual, R2_Fitted = fitted_r2, AdjR2_Fitted = fitted_adjr2 ) # Plot both fits ggplot(plot_data, aes(x = Index)) + geom_line(aes(y = Actual), color = "black", size = 1, linetype = "dashed") + geom_line(aes(y = R2_Fitted), color = "steelblue", size = 1) + labs( title = "Full Model (R-squared): Actual vs Fitted Values", subtitle = "Observation Index used in place of dates (parsed from original dataset)", x = "Observation Index", y = "CrudeOil % Change" ) + theme_minimal() ## ----plot-adjr2-line, fig.align="center", fig.width=6.3, fig.height=4.5, out.width='99%'---- ggplot(plot_data, aes(x = Index)) + geom_line(aes(y = Actual), color = "black", size = 1, linetype = "dashed") + geom_line(aes(y = AdjR2_Fitted), color = "limegreen", size = 1.1) + labs( title = "Optimal Model (Adjusted R-squared): Actual vs Fitted Values", subtitle = "Observation Index used in place of dates (parsed from original dataset)", x = "Observation Index", y = "CrudeOil % Change" )+ theme_minimal() + theme(plot.background = element_rect(color = "limegreen", size = 2))