Four scripts are included in this folder. 
(i) When 'GenParams.R' is sourced, it creates 'arglist', which defaults to a length-564 list of lists. 
	Each of the 564 elements of the list corresponds to a different simulation setting from the paper 
	(note: there are a bunch of p=100 settings, which were only used to created the gcv vs gcvC figure). 
	Each list can be submitted to the function 'run.sim.wrapper'. 
	See below for an example. 
(ii) 'RunSim.R' is the script meant for the user (or SLURM) to interface with. It sources 
	all of the scripts mentioned below and runs a single simulation, based on the value of 'array_id',
	which is defaults to 1 but can be any i such that arglist[[i]] is valid.
	It was written with the intent that many different values of 'array_id' would be run simultaneously
	on a cluster of machines equipped with SLURM. 
(iii) 'Methods.R' contains all of the functions necessary to run the methods from the manuscript 
	for a given data set. It is sourced by 'RunSim.R'.
(iv) 'SimulationFunctions.R' contains all of the functions necessary to run a simulation on a 
	single fixed setting. It is sourced by 'RunSim.R'.

#Simplest way to run the code
#Make sure the scripts are in your working directory
nsim = 100#Decreased number of simulations to not take as long;
source("GenParams.R");
source("Methods.R");
source("SimulationFunctions.R");
array_id = 1;
assign(paste("sim",array_id,sep=""),run.sim.wrapper(arglist[[array_id]]));
get(paste("sim",array_id,sep=""))$colmeans.scaled.mspe;#HYP2 wins!
names(get(paste("sim",array_id,sep="")));#Lots of results to look at. See documentation for 'run.sim' in SimulationFunctions.R'

