library(stepwiser)

pkgs <- list("stringi", "rmsutilityr", "stepwiser")
lapply(pkgs, library, character.only = TRUE)
file <- get_dated_filename("dk_and_net_sim.csv")
sims <- 20
directions <- c("both", "forward")
betas <- c(1, 2, 3, -1, -2, -3)
n_values <- c(100, 250, 500, 1000)
n_values <- 100
rho_values <- c(0, sqrt(0.1), sqrt(0.2), sqrt(0.4))
#rho_values <- 0
#predictors <- c(12, 24)
predictors <- 24
MFWER <- 0.15
alpha_values <- c(0.5, 0.15, 1 - (1 - MFWER)^(1 / predictors), 0.05)
#alpha_values <- 0.15
alpha_values <- 0.05
weight <- 1
nlambda <- 100
sim_object <- dk_sim(file = file, directions = directions, betas, 
                             n_values, alpha_values, rho_values, predictors, 
                             weight = weight, nlambda = nlambda,
                             sims = sims, rnorm, 0, 0.2)
sim_wide_df <- sim_object_to_df(sim_object)
write.csv(sim_wide_df, 
          file = get_dated_filename(
            stri_c("simulation_", nrow(sim_wide_df), ".csv")))
# rho <- sim_wide_df$rho
# p <- sim_wide_df$p
# alpha <- sim_wide_df$alpha
# 
# table(sim_wide_df$noise_min_step[sim_wide_df$p == 24 & rho > 0.6])
# table(sim_wide_df$noise_min_lasso[sim_wide_df$p == 24 & rho > 0.6])
# table(sim_wide_df$noise_min_ridge[sim_wide_df$p == 24 & rho > 0.6])
# table(sim_wide_df$noise_min_net[sim_wide_df$p == 24 & rho > 0.6])
# table(sim_wide_df$noise_median_step[sim_wide_df$p == 24 & rho > 0.6])
# table(sim_wide_df$noise_median_lasso[sim_wide_df$p == 24 & rho > 0.6])
# table(sim_wide_df$noise_median_ridge[sim_wide_df$p == 24 & rho > 0.6])
# table(sim_wide_df$noise_median_net[sim_wide_df$p == 24 & rho > 0.6])