## Bootstrap functions bootsamp = function(df) { df_b = df[sample(nrow(df), nrow(df), replace = TRUE), ] return(df_b) } bootsamp_list = function(df, B) { df_list = list(rep(list(df), B)) for (i in 1:B) { df_list[[i]] = bootsamp(df) } return(df_list) } #Function for sampling variables impsamp = function(df, nvars) { sampled.vars = df[sample(x = 1:(nvars), size = round((nvars-1)/2), replace = FALSE, prob = df$imp), ]$IV return(sampled.vars) } ## Function to calculate selection probability selprob = function(x) { prob = sum(x!=0)/length(x) return(prob) } # Functions to calculate quantiles p025 = function(x) {quantile(x, probs = 0.025)} p975 = function(x) {quantile(x, probs = 0.975)}