######################################################################################### ########### Script for the simulations described in Boulesteix et al (2008) ############# ##################### Anne-Laure Boulesteix, April 5, 2008 ############################# ######################################################################################### library(MAclinical) ############################# ### muZ=0 muX=0 redundant ### ############################# datalist<-simuldata_list(niter=100,muZ=0,muX=0) muZ0muX0plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ0muX0plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ0muX0plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ0muX0plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ0muX0rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ0muX0logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ0muX0svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################### ### muZ=0 muX=0.5 redundant ### ############################### datalist<-simuldata_list(niter=100,muZ=0,muX=0.5) muZ0muX0.5plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ0muX0.5plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ0muX0.5plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ0muX0.5plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ0muX0.5rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ0muX0.5logistic_z_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ0muX0.5svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################# ### muZ=0 muX=1 redundant ### ############################# datalist<-simuldata_list(niter=100,muZ=0,muX=1) muZ0muX1plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ0muX1plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ0muX1plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ0muX1plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ0muX1rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ0muX1logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ0muX1svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################# ### muZ=1 muX=0 redundant ### ############################# datalist<-simuldata_list(niter=100,muZ=1,muX=0) muZ1muX0plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ1muX0plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ1muX0plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ1muX0plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ1muX0rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ1muX0logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ1muX0svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################### ### muZ=1 muX=0.5 redundant ### ############################### datalist<-simuldata_list(niter=100,muZ=1,muX=0.5) muZ1muX0.5plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ1muX0.5plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ1muX0.5plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ1muX0.5plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ1muX0.5rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ1muX0.5logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ1muX0.5svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################# ### muZ=1 muX=1 redundant ### ############################# datalist<-simuldata_list(niter=100,muZ=1,muX=1) muZ1muX1plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ1muX1plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ1muX1plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ1muX1plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ1muX1rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ1muX1logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ1muX1svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################# ### muZ=3 muX=0 redundant ### ############################# datalist<-simuldata_list(niter=100,muZ=3,muX=0) muZ3muX0plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ3muX0plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ3muX0plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ3muX0plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ3muX0rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ3muX0logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ3muX0svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################### ### muZ=3 muX=0.5 redundant ### ############################### datalist<-simuldata_list(niter=100,muZ=3,muX=0.5) muZ3muX0.5plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ3muX0.5plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ3muX0.5plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ3muX0.5plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ3muX0.5rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ3muX0.5logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ3muX0.5svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ############################# ### muZ=3 muX=1 redundant ### ############################# datalist<-simuldata_list(niter=100,muZ=3,muX=1) muZ3muX1plsrf_xz_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ3muX1plsrf_xz_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ3muX1plsrf_x_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ3muX1plsrf_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ3muX1rf_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ3muX1logistic_z_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ3muX1svm_x_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ####################### ################################# ### muZ=0 muX=0 non-redundant ### ################################# datalist<-simuldatacluster_list(niter=100,muZ=0,muX=0) muZ0muX0plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ0muX0plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ0muX0plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ0muX0plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ0muX0rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ0muX0logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ0muX0svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################### ### muZ=0 muX=0.5 non-redundant ### ################################### datalist<-simuldatacluster_list(niter=100,muZ=0,muX=0.5) muZ0muX0.5plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ0muX0.5plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ0muX0.5plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ0muX0.5plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ0muX0.5rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ0muX0.5logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ0muX0.5svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################# ### muZ=0 muX=1 non-redundant ### ################################# datalist<-simuldatacluster_list(niter=100,muZ=0,muX=1) muZ0muX1plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ0muX1plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ0muX1plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ0muX1plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ0muX1rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ0muX1logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ0muX1svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################# ### muZ=1 muX=0 non-redundant ### ################################# datalist<-simuldatacluster_list(niter=100,muZ=1,muX=0) muZ1muX0plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ1muX0plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ1muX0plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ1muX0plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ1muX0rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ1muX0logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ1muX0svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################### ### muZ=1 muX=0.5 non-redundant ### ################################### datalist<-simuldatacluster_list(niter=100,muZ=1,muX=0.5) muZ1muX0.5plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ1muX0.5plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ1muX0.5plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ1muX0.5plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ1muX0.5rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ1muX0.5logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ1muX0.5svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################# ### muZ=1 muX=1 non-redundant ### ################################# datalist<-simuldatacluster_list(niter=100,muZ=1,muX=1) muZ1muX1plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ1muX1plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ1muX1plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ1muX1plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ1muX1rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ1muX1logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ1muX1svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################# ### muZ=3 muX=0 non-redundant ### ################################# datalist<-simuldatacluster_list(niter=100,muZ=3,muX=0) muZ3muX0plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ3muX0plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ3muX0plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ3muX0plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ3muX0rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ3muX0logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ3muX0svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################### ### muZ=3 muX=0.5 non-redundant ### ################################### datalist<-simuldatacluster_list(niter=100,muZ=3,muX=0.5) muZ3muX0.5plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ3muX0.5plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ3muX0.5plsrf_x_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ3muX0.5plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ3muX0.5rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ3muX0.5logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ3muX0.5svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################# ### muZ=3 muX=1 non-redundant ### ################################# datalist<-simuldatacluster_list(niter=100,muZ=3,muX=1) muZ3muX1plsrf_xz_pv_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz_pv,ncomp=0:3) muZ3muX1plsrf_xz_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_xz,ncomp=0:3) muZ3muX1plsrf_x_cl_pv_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x_pv,ncomp=0:3) muZ3muX1plsrf_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=plsrf_x,ncomp=0:3) muZ3muX1rf_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=rf_z,ncomp=0:3) muZ3muX1logistic_z_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=logistic_z) muZ3muX1svm_x_cl_opt_cforest<-testclass_simul(datalist=datalist,nlearn=50,classifier=svm_x) ################################## ##### Information extraction ##### ################################## # Information from Tables 1 and 2 are extracted as follows: c(mean(muZ0muX0plsrf_xz_pv_opt_cforest$error/450),sd(muZ0muX0plsrf_xz_pv_opt_cforest$error/450)) # Information from Table 3 are extracted as follows: sum(muZ0muX0plsrf_xz_pv_opt_cforest$bestncomp>0)/100 list2matrix<-function(my.list) { niter<-length(my.list$bestncomp) kmax<-length(my.list$OOB[[1]]) OOBmat<-matrix(0,niter,kmax) for (i in 1:niter) { OOBmat[i,]<-as.numeric(my.list$OOB[i][[1]]) } return(OOBmat) } apply(list2matrix(muZ0muX0plsrf_xz_pv_opt_cforest),FUN=mean,MARGIN=2)[1:2]