separateData = function(dt, prop=c(2/3,1/6,1/6) ) { ### This function separates the entire dataframe into ### three parts: training, testing, and evaluating. n = dim(dt)[1] all = 1:n ntrain = round(n*prop[1]) sstrain = sample(n,ntrain) remaining = all[-sstrain] ntest = round(n*prop[2]) sstest = sample(remaining,ntest) sseval = all[-c(sstest,sstrain)] res = list( train=dt[sstrain,],test=dt[sstest,],eval=dt[sseval,]) return(res) }