1 FRESA.CAD Regresion Benchmark

1.1 OAI Joint Space Width KL Modelling Data Set

load(file = "OAIJSW_BASELINE.RDATA")


ExperimentName <- "OAIJSW_KL"
bswimsReps <- 20;
theData <- baseline;
theOutcome <- "BLKL";
reps <- 20;
fraction <- 0.2;

FRESAFileName <- paste(ExperimentName,"FRESAMethod.RDATA",sep = "_")
CVFileName <- paste(ExperimentName,"CVMethod.RDATA",sep = "_")
sampleTrain <- sample(nrow(theData),nrow(theData)*0.2)
sampleData <- theData[sampleTrain,]
testdata <- theData[-sampleTrain,]

1.2 Benchmark


theData$AGE <- as.numeric(theData$AGE)
bmodel <- BSWiMS.model(formula = paste(theOutcome," ~ 1"),data = sampleData,NumberofRepeats = bswimsReps )

save(bmodel,file = FRESAFileName)
load(file = FRESAFileName)

par(mfrow = c(2,2));
cp <- OrdinalBenchmark(theData,theOutcome,reps,fraction)

par(mfrow = c(1,1));

save(cp,file = CVFileName)
load(file = CVFileName)

1.3 Results

1.3.1 Model Selection Results


hm <- heatMaps(Outcome = "Outcome",data = cp$testPredictions,title = "Heat Map",Scale = TRUE,hCluster = "col",cexRow = 0.25,cexCol = 0.75,srtCol = 45) 


#The Times
pander::pander(cp$cpuElapsedTimes)
BSWiMS RF RPART LASSO SVM KNN ENS
26.25 0.976 0.0955 29.16 0.142 0.0535 56.68

par(mfrow = c(2,1));
pr <- plot(cp,prefix = paste(ExperimentName,":"));

par(mfrow = c(1,1));

pander::pander(pr$metrics,caption = ExperimentName,round = 3)
OAIJSW_KL
  RF ENS SVM KNN LASSO RPART BSWiMS
KAPPA 0.643 0.63 0.622 0.617 0.614 0.604 0.602
BMAE 0.522 0.526 0.541 0.546 0.547 0.565 0.563
Kendall 0.58 0.569 0.561 0.567 0.553 0.545 0.548
Bias -0.145 -0.221 -0.182 -0.368 -0.144 -0.253 -0.285
ACC 0.473 0.467 0.472 0.438 0.474 0.418 0.452
SEN 0.572 0.575 0.572 0.555 0.566 0.551 0.563
AUC 0.723 0.723 0.721 0.711 0.719 0.708 0.714
pander::pander(pr$metrics_filter,caption = ExperimentName,round = 3)
OAIJSW_KL
  BSWiMS RPART LASSO mRMR F.Test Kendall RF.ref
KAPPA 0.621 0.615 0.615 0.622 0.622 0.618 0.617
BMAE 0.544 0.549 0.545 0.541 0.545 0.549 0.556
Kendall 0.566 0.568 0.565 0.561 0.564 0.561 0.568
ACC 0.466 0.46 0.467 0.472 0.468 0.47 0.445
SEN 0.558 0.558 0.556 0.56 0.559 0.56 0.551
AUC 0.712 0.713 0.71 0.714 0.713 0.713 0.708

1.3.2 Radar Plots

op <- par(no.readonly = TRUE)

par(mfrow = c(1,2),xpd = TRUE,pty = "s",mar = c(1,1,1,1))

mNames <- names(cp$cpuElapsedTimes)

classRanks <- c(pr$minMaxMetrics$BMAE[1],pr$minMaxMetrics$KAPPA[2],pr$minMaxMetrics$Kendall[2],pr$minMaxMetrics$ACC[2],pr$minMaxMetrics$SEN[2],pr$minMaxMetrics$AUC[2],min(cp$cpuElapsedTimes))
classRanks <- rbind(classRanks,c(pr$minMaxMetrics$BMAE[2],0,0,0,0,0,max(cp$cpuElapsedTimes)))
classRanks <- as.data.frame(rbind(classRanks,cbind(t(pr$metrics[c("BMAE","KAPPA","Kendall","ACC","SEN","AUC"),mNames]),cp$cpuElapsedTimes)))
colnames(classRanks) <- c("BMAE","KAPPA","Kendall","ACC","SEN","AUC","CPU")

classRanks$BMAE <- -classRanks$BMAE
classRanks$CPU <- -classRanks$CPU

colors_border = c( rgb(1.0,0.0,0.0,1.0), rgb(0.0,1.0,0.0,1.0) , rgb(0.0,0.0,1.0,1.0), rgb(0.2,0.2,0.0,1.0), rgb(0.0,1.0,1.0,1.0), rgb(1.0,0.0,1.0,1.0), rgb(0.0,0.0,0.0,1.0), rgb(1.0,1.0,0.0,1.0) )
colors_in = c( rgb(1.0,0.0,0.0,0.05), rgb(0.0,1.0,0.0,0.05) , rgb(0.0,0.0,1.0,0.05),rgb(1.0,1.0,0.0,0.05), rgb(0.0,1.0,1.0,0.05) , rgb(1.0,0.0,1.0,0.05), rgb(0.0,0.0,0.0,0.05), rgb(1.0,1.0,0.0,0.05) )
fmsb::radarchart(classRanks,axistype = 0,maxmin = T,pcol = colors_border,pfcol = colors_in,plwd = c(6,2,2,2,2,2,2),plty = 1, cglcol = "grey", cglty = 1,axislabcol = "black",cglwd = 0.8, vlcex  = 0.5 ,title = "Prediction Model")

legend("topleft",legend = rownames(classRanks[-c(1,2),]),bty = "n",pch = 20,col = colors_in,text.col = colors_border,cex = 0.5,pt.cex = 2)


filnames <- c("BSWiMS","LASSO","RF.ref","F.Test","Kendall","mRMR")

filterRanks <- c(pr$minMaxMetrics$BMAE[1],pr$minMaxMetrics$KAPPA[2],pr$minMaxMetrics$Kendall[2],pr$minMaxMetrics$ACC[2],pr$minMaxMetrics$SEN[2],pr$minMaxMetrics$AUC[2],max(cp$jaccard),min(cp$featsize));

filterRanks <- rbind(filterRanks,c(pr$minMaxMetrics$BMAE[2],0,0,0,0,0,min(cp$jaccard),max(cp$featsize)));

filterRanks <- as.data.frame(rbind(filterRanks,cbind(t(pr$metrics_filter[c("BMAE","KAPPA","Kendall","ACC","SEN","AUC"),filnames]),cp$jaccard[filnames],cp$featsize[filnames])));
colnames(filterRanks) <- c("BMAE","KAPPA","Kendall","ACC","SEN","AUC","Jaccard","SIZE")
filterRanks$BMAE <- -filterRanks$BMAE
filterRanks$SIZE <- -filterRanks$SIZE

colors_border = c( rgb(1.0,0.0,0.0,1.0), rgb(0.0,1.0,0.0,1.0) , rgb(0.0,0.0,1.0,1.0), rgb(0.2,0.2,0.0,1.0), rgb(0.0,1.0,1.0,1.0), rgb(1.0,0.0,1.0,1.0), rgb(0.0,0.0,0.0,1.0) )
colors_in = c( rgb(1.0,0.0,0.0,0.05), rgb(0.0,1.0,0.0,0.05) , rgb(0.0,0.0,1.0,0.05),rgb(1.0,1.0,0.0,0.05), rgb(0.0,1.0,1.0,0.05) , rgb(1.0,0.0,1.0,0.05), rgb(0.0,0.0,0.0,0.05) )
fmsb::radarchart(filterRanks,axistype = 0,maxmin = T,pcol = colors_border,pfcol = colors_in,plwd = c(6,2,2,2,2,2,2),plty = 1, cglcol = "grey", cglty = 1,axislabcol = "black",cglwd = 0.8, vlcex  = 0.6,title = "Filter Method" )


legend("topleft",legend = rownames(filterRanks[-c(1,2),]),bty = "n",pch = 20,col = colors_in,text.col = colors_border,cex = 0.5,pt.cex = 2)


par(mfrow = c(1,1))
par(op)

1.3.3 Features Analysis


pander::pander(summary(bmodel),caption = "Model",round = 3)
    • coefficients:

      Table continues below
        Estimate lower OR upper u.Accuracy
      STDJSW 0.1578 1.145 1.171 1.197 0.5999
      MtoLDiff 0.1812 1.168 1.199 1.23 0.6009
      CVJSW 0.2191 1.207 1.245 1.284 0.6175
      stdLJSW -0.2358 0.7579 0.79 0.8235 0.5702
      LJSW725 -0.0326 0.9626 0.9679 0.9733 0.5461
      lCV 0.07686 1.067 1.08 1.093 0.4513
      MaxCV 0.08357 1.071 1.087 1.104 0.5749
      meanLJSW -0.1406 0.8443 0.8688 0.8941 0.5119
      BMI 0.03231 1.025 1.033 1.041 0.5742
      LJSW700 -0.09316 0.8903 0.911 0.9322 0.5639
      LJSW750 -0.03963 0.9519 0.9611 0.9704 0.5292
      JSW175 -0.03729 0.9538 0.9634 0.9731 0.59
      AGE 0.01564 1.011 1.016 1.02 0.582
      LateralSlope 0.07017 1.052 1.073 1.094 0.5568
      DiffSlope -0.04718 0.9394 0.9539 0.9687 0.5107
      JSW200 -0.006328 0.9916 0.9937 0.9958 0.5735
      WEIGHT 0.00562 1.004 1.006 1.008 0.5687
      LJSW825 0.09117 1.057 1.095 1.136 0.488
      Table continues below
        r.Accuracy full.Accuracy u.AUC r.AUC full.AUC
      STDJSW 0.5582 0.6217 0.6295 0.5594 0.681
      MtoLDiff 0.5823 0.6439 0.6293 0.588 0.6797
      CVJSW 0.6555 0.6709 0.6604 0.651 0.7049
      stdLJSW 0.642 0.6604 0.5593 0.673 0.7018
      LJSW725 0.6157 0.6433 0.5376 0.6423 0.6835
      lCV 0.5965 0.6316 0.4773 0.6476 0.6872
      MaxCV 0.5876 0.6057 0.6101 0.6155 0.6512
      meanLJSW 0.6266 0.6473 0.5302 0.6618 0.6813
      BMI 0.644 0.6709 0.5973 0.6993 0.7049
      LJSW700 0.661 0.6787 0.5703 0.6897 0.712
      LJSW750 0.597 0.6168 0.5285 0.6561 0.6747
      JSW175 0.5616 0.6028 0.6071 0.6228 0.6397
      AGE 0.6465 0.6709 0.5854 0.6913 0.7049
      LateralSlope 0.6015 0.6121 0.5477 0.6393 0.6658
      DiffSlope 0.5966 0.6013 0.5012 0.6265 0.6409
      JSW200 0.5668 0.5944 0.6064 0.628 0.6429
      WEIGHT 0.6271 0.6439 0.5793 0.6654 0.6797
      LJSW825 0.6385 0.6484 0.4981 0.6735 0.6824
        IDI NRI z.IDI z.NRI Frequency
      STDJSW 0.1459 0.6163 16.43 13.24 0.2676
      MtoLDiff 0.1374 0.554 15.9 11.63 0.2817
      CVJSW 0.1364 0.6175 15.87 13.15 0.2817
      stdLJSW 0.05271 0.48 9.093 9.966 0.2817
      LJSW725 0.04506 0.3425 8.469 7.018 0.2676
      lCV 0.04301 0.3859 8.406 8.008 0.08451
      MaxCV 0.04164 0.3049 8.037 6.281 0.1972
      meanLJSW 0.03761 0.3666 7.814 7.503 0.1127
      BMI 0.03254 0.4073 7.25 8.39 0.2817
      LJSW700 0.03083 0.37 7.245 7.588 0.07042
      LJSW750 0.03111 0.3301 7.188 6.735 0.1127
      JSW175 0.02742 0.236 6.628 4.791 0.1408
      AGE 0.0261 0.2685 6.584 5.453 0.2817
      LateralSlope 0.02534 0.274 6.001 5.591 0.1972
      DiffSlope 0.02479 0.2613 5.944 5.303 0.1127
      JSW200 0.01988 0.2164 5.769 4.38 0.02817
      WEIGHT 0.01783 0.3014 5.291 6.135 0.2817
      LJSW825 0.01538 0.1637 4.857 3.305 0.09859
    • Accuracy: 0.662
    • tAUC: 0.7147
    • sensitivity: 0.6295
    • specificity: 0.8
    • bootstrap:

    • coefficients:

      Table continues below
        Estimate lower OR upper u.Accuracy
      MtoLDiff 0.1457 1.133 1.157 1.181 0.6054
      CVJSW 0.2034 1.191 1.226 1.261 0.6482
      STDJSW 0.1387 1.126 1.149 1.172 0.6082
      LJSW725 -0.03076 0.9648 0.9697 0.9747 0.5675
      LJSW700 -0.2717 0.7268 0.7621 0.799 0.5866
      meanLJSW -0.2569 0.7361 0.7734 0.8126 0.5439
      LJSW750 -0.06743 0.9233 0.9348 0.9465 0.5442
      MaxCV 0.0509 1.041 1.052 1.063 0.5809
      stdLJSW -0.0395 0.9542 0.9613 0.9684 0.5558
      AGE 0.01691 1.011 1.017 1.023 0.5779
      lCV 0.01352 1.01 1.014 1.018 0.4695
      DiffSlope -0.05237 0.9315 0.949 0.9668 0.5252
      BMI 0.0267 1.017 1.027 1.038 0.5477
      LJSW825 0.01982 1.012 1.02 1.028 0.5079
      LatIntersept 0.1393 1.089 1.149 1.213 0.5293
      JSW225 -0.01162 0.9838 0.9884 0.9931 0.6057
      JSW200 -0.04373 0.9418 0.9572 0.9729 0.601
      LJSW800 0.142 1.079 1.153 1.232 0.5251
      LatCurvature -0.06396 0.9084 0.938 0.9687 0.5407
      JSW275 -0.005035 0.9921 0.995 0.9978 0.6051
      Table continues below
        r.Accuracy full.Accuracy u.AUC r.AUC full.AUC
      MtoLDiff 0.5804 0.6723 0.6249 0.5851 0.6943
      CVJSW 0.6402 0.6929 0.6679 0.6393 0.717
      STDJSW 0.5903 0.6591 0.6253 0.5983 0.686
      LJSW725 0.6217 0.6675 0.5636 0.6392 0.6944
      LJSW700 0.6649 0.6929 0.5893 0.6855 0.717
      meanLJSW 0.632 0.6723 0.5546 0.6522 0.6943
      LJSW750 0.6261 0.6599 0.5457 0.6485 0.6853
      MaxCV 0.5989 0.6216 0.6028 0.6196 0.6477
      stdLJSW 0.6258 0.6474 0.5483 0.6492 0.6796
      AGE 0.677 0.6929 0.5804 0.7038 0.717
      lCV 0.6311 0.6489 0.4843 0.659 0.6829
      DiffSlope 0.619 0.625 0.5264 0.6412 0.652
      BMI 0.6852 0.6929 0.5576 0.7105 0.717
      LJSW825 0.662 0.666 0.5189 0.6825 0.6887
      LatIntersept 0.6632 0.675 0.5368 0.6833 0.6966
      JSW225 0.6051 0.6253 0.6244 0.6399 0.6504
      JSW200 0.637 0.6394 0.6262 0.6571 0.6634
      LJSW800 0.6873 0.6929 0.5315 0.7109 0.717
      LatCurvature 0.6517 0.6634 0.5495 0.6757 0.6877
      JSW275 0.6687 0.6735 0.6175 0.6966 0.6969
        IDI NRI z.IDI z.NRI Frequency
      MtoLDiff 0.1552 0.6581 15.66 12.8 0.2817
      CVJSW 0.1312 0.6454 14.43 12.49 0.2817
      STDJSW 0.107 0.5572 12.45 10.8 0.2676
      LJSW725 0.06761 0.4612 9.819 8.697 0.07042
      LJSW700 0.04927 0.4902 8.418 9.239 0.2817
      meanLJSW 0.04804 0.4412 8.163 8.264 0.2817
      LJSW750 0.04706 0.3216 8.147 5.996 0.1549
      MaxCV 0.04249 0.3592 7.836 6.813 0.1549
      stdLJSW 0.0453 0.4187 7.594 7.846 0.05634
      AGE 0.02533 0.3268 5.933 6.041 0.2817
      lCV 0.02456 0.3253 5.891 6.143 0.05634
      DiffSlope 0.02005 0.2684 5.425 4.943 0.169
      BMI 0.0187 0.3147 5.024 5.826 0.2817
      LJSW825 0.01929 0.2003 4.929 3.68 0.02817
      LatIntersept 0.01853 0.221 4.899 4.063 0.1831
      JSW225 0.01897 0.2766 4.724 5.106 0.05634
      JSW200 0.01854 0.3062 4.478 5.673 0.2254
      LJSW800 0.01393 0.2829 4.099 5.215 0.2817
      LatCurvature 0.01192 0.239 3.78 4.396 0.2676
      JSW275 0.007638 0.2661 3.395 4.895 0.02817
    • Accuracy: 0.6891
    • tAUC: 0.7194
    • sensitivity: 0.628
    • specificity: 0.8108
    • bootstrap:

    • coefficients:

      Table continues below
        Estimate lower OR upper u.Accuracy
      STDJSW 0.3731 1.378 1.452 1.531 0.8173
      MtoLDiff 0.3707 1.375 1.449 1.527 0.8226
      CVJSW 0.3344 1.333 1.397 1.465 0.8742
      MaxCV 0.1559 1.143 1.169 1.195 0.7846
      LJSW750 -0.3353 0.682 0.7151 0.7497 0.5503
      MeanJSW -0.3172 0.6963 0.7282 0.7615 0.6691
      LJSW725 -0.06029 0.9335 0.9415 0.9495 0.5715
      DiffSlope -0.1177 0.8706 0.889 0.9078 0.534
      JointSlope 0.1657 1.15 1.18 1.211 0.7327
      JSW200 -0.005371 0.9936 0.9946 0.9957 0.8026
      meanMJSW -0.06877 0.9222 0.9335 0.945 0.755
      JSW150 -0.05334 0.9388 0.9481 0.9574 0.7874
      mCV 0.1557 1.129 1.168 1.209 0.7188
      lCV -0.007077 0.9915 0.9929 0.9944 0.5318
      LatSlope 0.1468 1.111 1.158 1.207 0.5975
      MCMJSW -0.1648 0.8054 0.8481 0.8931 0.7774
      AGE 0.01994 1.013 1.02 1.027 0.615
      TPCFDS 0.1339 1.086 1.143 1.204 0.5137
      LatIntersept 0.008849 1.005 1.009 1.013 0.5345
      XMJSW -0.08443 0.8818 0.919 0.9578 0.5089
      Table continues below
        r.Accuracy full.Accuracy u.AUC r.AUC full.AUC
      STDJSW 0.7605 0.8981 0.7982 0.7561 0.8976
      MtoLDiff 0.7568 0.8917 0.8134 0.7434 0.8874
      CVJSW 0.8221 0.8968 0.8577 0.8217 0.893
      MaxCV 0.7417 0.8561 0.7492 0.7344 0.8364
      LJSW750 0.8182 0.9002 0.5392 0.8 0.8999
      MeanJSW 0.8377 0.892 0.6693 0.8328 0.8877
      LJSW725 0.8385 0.8926 0.5661 0.8317 0.892
      DiffSlope 0.826 0.8561 0.5254 0.8084 0.8364
      JointSlope 0.871 0.8858 0.7387 0.8597 0.88
      JSW200 0.8254 0.8485 0.7845 0.8079 0.8327
      meanMJSW 0.8524 0.8581 0.751 0.8273 0.8414
      JSW150 0.8898 0.8926 0.7836 0.8798 0.8923
      mCV 0.872 0.8917 0.6937 0.8669 0.8874
      lCV 0.8519 0.8652 0.4696 0.8436 0.8623
      LatSlope 0.8909 0.8968 0.5994 0.8914 0.893
      MCMJSW 0.8923 0.8968 0.7885 0.8859 0.893
      AGE 0.8963 0.8968 0.6255 0.8895 0.893
      TPCFDS 0.8848 0.893 0.5081 0.881 0.8891
      LatIntersept 0.8497 0.8555 0.5209 0.8354 0.837
      XMJSW 0.8835 0.8889 0.5202 0.8785 0.8852
        IDI NRI z.IDI z.NRI Frequency
      STDJSW 0.3266 1.403 27.58 38.07 0.2817
      MtoLDiff 0.3263 1.366 27.32 36.01 0.2676
      CVJSW 0.2802 1.469 24.94 41.94 0.2817
      MaxCV 0.2225 1.113 21.54 26.17 0.1549
      LJSW750 0.2262 1.237 21.38 30.36 0.1972
      MeanJSW 0.1358 1.026 15.39 23.05 0.2817
      LJSW725 0.1222 1.098 14.49 25.36 0.07042
      DiffSlope 0.05606 0.6137 9.558 12.53 0.1549
      JointSlope 0.053 0.8572 9.267 18.85 0.2676
      JSW200 0.06579 0.5641 8.819 11.69 0.05634
      meanMJSW 0.05177 0.5558 8.661 11.27 0.09859
      JSW150 0.04323 0.9745 7.939 21.51 0.08451
      mCV 0.03695 0.534 7.592 10.66 0.2676
      lCV 0.03173 0.6481 7.294 13.48 0.04225
      LatSlope 0.02309 0.4386 6.58 8.748 0.2817
      MCMJSW 0.0274 0.7603 5.948 15.93 0.2817
      AGE 0.02148 0.4313 5.632 8.513 0.2817
      TPCFDS 0.0141 0.3063 5.042 5.964 0.2817
      LatIntersept 0.007349 0.3108 4.312 6.12 0.05634
      XMJSW 0.009117 0.1951 3.88 3.805 0.2394
    • Accuracy: 0.9067
    • tAUC: 0.9074
    • sensitivity: 0.9087
    • specificity: 0.906
    • bootstrap:

    • coefficients:

      Table continues below
        Estimate lower OR upper u.Accuracy r.Accuracy
      CVJSW 0.2267 1.215 1.254 1.295 0.9542 0.04213
      MaxCV 0.3666 1.37 1.443 1.519 0.919 0.6679
      STDJSW 0.2605 1.248 1.298 1.349 0.9107 0.7268
      MtoLDiff 0.512 1.552 1.669 1.794 0.9132 0.7859
      DiffSlope -0.6023 0.5029 0.5476 0.5961 0.6384 0.9206
      MeanJSW -0.6765 0.4621 0.5084 0.5593 0.7859 0.9132
      LJSW725 -0.09308 0.8992 0.9111 0.9232 0.6994 0.9107
      LJSW750 -0.1446 0.8479 0.8654 0.8832 0.6792 0.9108
      Table continues below
        full.Accuracy u.AUC r.AUC full.AUC IDI NRI
      CVJSW 0.9542 0.9638 0.5 0.9638 0.888 1.858
      MaxCV 0.9485 0.8892 0.6216 0.9535 0.6806 1.734
      STDJSW 0.9361 0.9306 0.6768 0.9538 0.5911 1.604
      MtoLDiff 0.9532 0.9432 0.7709 0.9753 0.4671 1.839
      DiffSlope 0.9485 0.5836 0.8932 0.9535 0.1846 1.393
      MeanJSW 0.9532 0.7709 0.9432 0.9753 0.1553 1.416
      LJSW725 0.9348 0.6584 0.9306 0.9546 0.1225 1.222
      LJSW750 0.9324 0.6082 0.9307 0.9529 0.1102 0.9639
        z.IDI z.NRI Frequency
      CVJSW 128 112 0.2817
      MaxCV 70.49 85.11 0.2676
      STDJSW 57.23 84.58 0.1831
      MtoLDiff 42.4 104 0.2817
      DiffSlope 21.03 43.18 0.2676
      MeanJSW 19.8 45.03 0.2817
      LJSW725 16.3 34.61 0.05634
      LJSW750 14.76 25.27 0.09859
    • Accuracy: 0.9569
    • tAUC: 0.9775
    • sensitivity: 1
    • specificity: 0.955
    • bootstrap:


topFeat <- min(ncol(bmodel$bagging$formulaNetwork),30);
shortformulaNetwork <- bmodel$bagging$formulaNetwork[1:topFeat,1:topFeat]
validf <- diag(shortformulaNetwork) > 0.1
gplots::heatmap.2(shortformulaNetwork[validf,validf],trace="none",mar = c(10,10),main = "B:SWiMS Formula Network",cexRow = 0.6,cexCol = 0.6)



rm <- rowMeans(cp$featureSelectionFrequency)
selFrequency <- cp$featureSelectionFrequency[rm > 0.10,]


gplots::heatmap.2(selFrequency,trace = "none",mar = c(10,10),main = "Features",cexRow = 0.2)

hm <- heatMaps(Outcome = theOutcome,data = theData[,c(theOutcome,rownames(selFrequency))],title = "Heat Map",Scale = TRUE,hCluster = "col",cexRow = 0.3,cexCol = 0.3,srtCol = 45)


vlist <- rownames(selFrequency)
vlist <- cbind(vlist,vlist)
univ <- univariateRankVariables(variableList = vlist,formula = paste(theOutcome,"~1"),Outcome = theOutcome,data = theData,type = "LM",rankingTest = "Ztest",uniType = "Regression")[,c("cohortMean","cohortStd","kendall.r","kendall.p")] 


cnames <- colnames(univ);
univ <- cbind(univ,rm[rownames(univ)])
colnames(univ) <- c(cnames,"Frequency")
univ <- univ[order(-univ[,5]),]
pander::pander(univ[1:topFeat,],caption = "Features",round = 4)
Features
  cohortMean cohortStd kendall.r kendall.p Frequency
MtoLDiff 1.182 2.069 0.3927 0 1
CVJSW 1.507 2.884 0.4423 0 0.9929
MCMJSW -0.7973 1.774 -0.3315 0 0.9929
MaxCV 0.9501 3.121 0.3069 0 0.9786
STDJSW 1.097 2.08 0.3689 0 0.9714
BMI 29.26 4.83 0.1276 0 0.8714
MeanJSW -0.3743 1.454 -0.2526 0 0.7929
AGE 61.89 9.079 0.1511 0 0.7857
LJSW700 -0.2314 1.329 -0.1714 0 0.7714
JSW150 -0.708 1.699 -0.3147 0 0.6571
mCV 0.7041 2.448 0.2305 0 0.6571
JointSlope 0.5762 2.249 0.2262 0 0.6429
JSW175 -0.7255 1.726 -0.3138 0 0.6143
WEIGHT 83.09 16.02 0.1106 0 0.6071
JSW200 -0.8022 1.895 -0.3144 0 0.5929
meanLJSW -0.0901 1.616 -0.0605 0 0.5929
LatSlope 0.2722 1.205 0.1632 0 0.5857
meanMJSW -0.7163 1.79 -0.3152 0 0.5643
JSW225 -0.7515 1.826 -0.3145 0 0.5571
MedIntersept -0.7361 1.798 -0.3169 0 0.55
LJSW750 -0.1362 1.522 -0.1001 0 0.5071
stdLJSW -0.169 1.063 -0.108 0 0.5071
LJSW825 -0.0113 1.615 -0.0108 0.3081 0.5071
LatCurvature -0.1259 1.109 -0.0647 0 0.5071
JSW300 -0.3912 1.365 -0.2607 0 0.4929
LJSW725 -0.1821 1.448 -0.136 0 0.4714
LJSW775 -0.097 1.546 -0.0783 0 0.4714
LJSW800 -0.038 1.583 -0.0447 0 0.4571
LJSW850 -0.0037 1.676 0.0118 0.2649 0.45
LatIntersept -0.0324 1.561 -0.0395 2e-04 0.4357