# ADD 3: Figure 2 but using the error rate and using n = 400
# ----------------------------------------------------------
# execute the following commands to produce an additional figure Add_3 that is stored in the folder 'Figures'
graphics.off()
pdf(file = "Add_3.pdf", width = 5, height = 6)
par(mfrow = c(3, 2), mar = c(0, 0, 0, 0), oma = c(8, 7, 4, 0.8), cex.axis = 1.5)
# row with zeta = 0.6
boxplot(sim_ncat3_n400_cor["ER_RF_ordinal",]/sim_ncat3_n400_cor["ER_RF_classification",],
sim_ncat6_n400_cor["ER_RF_ordinal",]/sim_ncat6_n400_cor["ER_RF_classification",],
sim_ncat9_n400_cor["ER_RF_ordinal",]/sim_ncat9_n400_cor["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 0.6"), line = 5, cex = 1.1)
mtext(side = 3, text = "With correlations", line = 1, cex = 1.1)
boxplot(sim_ncat3_n400_nocor["ER_RF_ordinal",]/sim_ncat3_n400_nocor["ER_RF_classification",],
sim_ncat6_n400_nocor["ER_RF_ordinal",]/sim_ncat6_n400_nocor["ER_RF_classification",],
sim_ncat9_n400_nocor["ER_RF_ordinal",]/sim_ncat9_n400_nocor["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
mtext(side = 3, text = "Without correlations", line = 1, cex = 1.1)
# row with zeta = 1
boxplot(sim_ncat3_n400_cor_mix1["ER_RF_ordinal",]/sim_ncat3_n400_cor_mix1["ER_RF_classification",],
sim_ncat6_n400_cor_mix1["ER_RF_ordinal",]/sim_ncat6_n400_cor_mix1["ER_RF_classification",],
sim_ncat9_n400_cor_mix1["ER_RF_ordinal",]/sim_ncat9_n400_cor_mix1["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 1"), line = 5, cex = 1.1)
boxplot(sim_ncat3_n400_nocor_mix1["ER_RF_ordinal",]/sim_ncat3_n400_nocor_mix1["ER_RF_classification",],
sim_ncat6_n400_nocor_mix1["ER_RF_ordinal",]/sim_ncat6_n400_nocor_mix1["ER_RF_classification",],
sim_ncat9_n400_nocor_mix1["ER_RF_ordinal",]/sim_ncat9_n400_nocor_mix1["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
# row with zeta = 0
boxplot(sim_ncat3_n400_cor_mix2["ER_RF_ordinal",]/sim_ncat3_n400_cor_mix2["ER_RF_classification",],
sim_ncat6_n400_cor_mix2["ER_RF_ordinal",]/sim_ncat6_n400_cor_mix2["ER_RF_classification",],
sim_ncat9_n400_cor_mix2["ER_RF_ordinal",]/sim_ncat9_n400_cor_mix2["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("0.92", "", "0.96", "", "1.00", "", ""))
mtext(side = 2, text = expression(zeta ~ " = 0"), line = 5, cex = 1.1)
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "Error rate ratio", line = 6.5, cex = 1)
boxplot(sim_ncat3_n400_nocor_mix2["ER_RF_ordinal",]/sim_ncat3_n400_nocor_mix2["ER_RF_classification",],
sim_ncat6_n400_nocor_mix2["ER_RF_ordinal",]/sim_ncat6_n400_nocor_mix2["ER_RF_classification",],
sim_ncat9_n400_nocor_mix2["ER_RF_ordinal",]/sim_ncat9_n400_nocor_mix2["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", xlab = "Error rate ratio", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("  0.92", "", "0.96", "", "1.00", "", "1.04"))
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "Error rate ratio", line = 6.5, cex = 1)
graphics.off()
# ADD 4: Figure 2 but using quadratic scores
# ------------------------------------------
# execute the following commands to produce an additional figure Add_4 that is stored in the folder 'Figures'
graphics.off()
pdf(file = "Add_4.pdf", width = 5, height = 6)
par(mfrow = c(3, 2), mar = c(0, 0, 0, 0), oma = c(8, 7, 4, 0.8), cex.axis = 1.5)
# row with zeta = 0.6
boxplot(simquadscores_ncat3_n200_cor["RPS_RF_ordinal",]/simquadscores_ncat3_n200_cor["RPS_RF_classification",],
simquadscores_ncat6_n200_cor["RPS_RF_ordinal",]/simquadscores_ncat6_n200_cor["RPS_RF_classification",],
simquadscores_ncat9_n200_cor["RPS_RF_ordinal",]/simquadscores_ncat9_n200_cor["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 0.6"), line = 5, cex = 1.1)
mtext(side = 3, text = "With correlations", line = 1, cex = 1.1)
boxplot(simquadscores_ncat3_n200_nocor["RPS_RF_ordinal",]/simquadscores_ncat3_n200_nocor["RPS_RF_classification",],
simquadscores_ncat6_n200_nocor["RPS_RF_ordinal",]/simquadscores_ncat6_n200_nocor["RPS_RF_classification",],
simquadscores_ncat9_n200_nocor["RPS_RF_ordinal",]/simquadscores_ncat9_n200_nocor["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
mtext(side = 3, text = "Without correlations", line = 1, cex = 1.1)
# row with zeta = 1
boxplot(simquadscores_ncat3_n200_cor_mix1["RPS_RF_ordinal",]/simquadscores_ncat3_n200_cor_mix1["RPS_RF_classification",],
simquadscores_ncat6_n200_cor_mix1["RPS_RF_ordinal",]/simquadscores_ncat6_n200_cor_mix1["RPS_RF_classification",],
simquadscores_ncat9_n200_cor_mix1["RPS_RF_ordinal",]/simquadscores_ncat9_n200_cor_mix1["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 1"), line = 5, cex = 1.1)
boxplot(simquadscores_ncat3_n200_nocor_mix1["RPS_RF_ordinal",]/simquadscores_ncat3_n200_nocor_mix1["RPS_RF_classification",],
simquadscores_ncat6_n200_nocor_mix1["RPS_RF_ordinal",]/simquadscores_ncat6_n200_nocor_mix1["RPS_RF_classification",],
simquadscores_ncat9_n200_nocor_mix1["RPS_RF_ordinal",]/simquadscores_ncat9_n200_nocor_mix1["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
# row with zeta = 0
boxplot(simquadscores_ncat3_n200_cor_mix2["RPS_RF_ordinal",]/simquadscores_ncat3_n200_cor_mix2["RPS_RF_classification",],
simquadscores_ncat6_n200_cor_mix2["RPS_RF_ordinal",]/simquadscores_ncat6_n200_cor_mix2["RPS_RF_classification",],
simquadscores_ncat9_n200_cor_mix2["RPS_RF_ordinal",]/simquadscores_ncat9_n200_cor_mix2["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("0.92", "", "0.96", "", "1.00", "", ""))
mtext(side = 2, text = expression(zeta ~ " = 0"), line = 5, cex = 1.1)
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "RPS ratio", line = 6.5, cex = 1)
boxplot(simquadscores_ncat3_n200_nocor_mix2["RPS_RF_ordinal",]/simquadscores_ncat3_n200_nocor_mix2["RPS_RF_classification",],
simquadscores_ncat6_n200_nocor_mix2["RPS_RF_ordinal",]/simquadscores_ncat6_n200_nocor_mix2["RPS_RF_classification",],
simquadscores_ncat9_n200_nocor_mix2["RPS_RF_ordinal",]/simquadscores_ncat9_n200_nocor_mix2["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", xlab = "RPS ratio", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("  0.92", "", "0.96", "", "1.00", "", "1.04"))
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "RPS ratio", line = 6.5, cex = 1)
graphics.off()
# ADD 5: Figure 2 but using quadratic scores and the error rate
# -------------------------------------------------------------
# execute the following commands to produce an additional figure Add_5 that is stored in the folder 'Figures'
graphics.off()
pdf(file = "Add_5.pdf", width = 5, height = 6)
par(mfrow = c(3, 2), mar = c(0, 0, 0, 0), oma = c(8, 7, 4, 0.8), cex.axis = 1.5)
# row with zeta = 0.6
boxplot(simquadscores_ncat3_n200_cor["ER_RF_ordinal",]/simquadscores_ncat3_n200_cor["ER_RF_classification",],
simquadscores_ncat6_n200_cor["ER_RF_ordinal",]/simquadscores_ncat6_n200_cor["ER_RF_classification",],
simquadscores_ncat9_n200_cor["ER_RF_ordinal",]/simquadscores_ncat9_n200_cor["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 0.6"), line = 5, cex = 1.1)
mtext(side = 3, text = "With correlations", line = 1, cex = 1.1)
boxplot(simquadscores_ncat3_n200_nocor["ER_RF_ordinal",]/simquadscores_ncat3_n200_nocor["ER_RF_classification",],
simquadscores_ncat6_n200_nocor["ER_RF_ordinal",]/simquadscores_ncat6_n200_nocor["ER_RF_classification",],
simquadscores_ncat9_n200_nocor["ER_RF_ordinal",]/simquadscores_ncat9_n200_nocor["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
mtext(side = 3, text = "Without correlations", line = 1, cex = 1.1)
# row with zeta = 1
boxplot(simquadscores_ncat3_n200_cor_mix1["ER_RF_ordinal",]/simquadscores_ncat3_n200_cor_mix1["ER_RF_classification",],
simquadscores_ncat6_n200_cor_mix1["ER_RF_ordinal",]/simquadscores_ncat6_n200_cor_mix1["ER_RF_classification",],
simquadscores_ncat9_n200_cor_mix1["ER_RF_ordinal",]/simquadscores_ncat9_n200_cor_mix1["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 1"), line = 5, cex = 1.1)
boxplot(simquadscores_ncat3_n200_nocor_mix1["ER_RF_ordinal",]/simquadscores_ncat3_n200_nocor_mix1["ER_RF_classification",],
simquadscores_ncat6_n200_nocor_mix1["ER_RF_ordinal",]/simquadscores_ncat6_n200_nocor_mix1["ER_RF_classification",],
simquadscores_ncat9_n200_nocor_mix1["ER_RF_ordinal",]/simquadscores_ncat9_n200_nocor_mix1["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
# row with zeta = 0
boxplot(simquadscores_ncat3_n200_cor_mix2["ER_RF_ordinal",]/simquadscores_ncat3_n200_cor_mix2["ER_RF_classification",],
simquadscores_ncat6_n200_cor_mix2["ER_RF_ordinal",]/simquadscores_ncat6_n200_cor_mix2["ER_RF_classification",],
simquadscores_ncat9_n200_cor_mix2["ER_RF_ordinal",]/simquadscores_ncat9_n200_cor_mix2["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("0.92", "", "0.96", "", "1.00", "", ""))
mtext(side = 2, text = expression(zeta ~ " = 0"), line = 5, cex = 1.1)
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "Error rate ratio", line = 6.5, cex = 1)
boxplot(simquadscores_ncat3_n200_nocor_mix2["ER_RF_ordinal",]/simquadscores_ncat3_n200_nocor_mix2["ER_RF_classification",],
simquadscores_ncat6_n200_nocor_mix2["ER_RF_ordinal",]/simquadscores_ncat6_n200_nocor_mix2["ER_RF_classification",],
simquadscores_ncat9_n200_nocor_mix2["ER_RF_ordinal",]/simquadscores_ncat9_n200_nocor_mix2["ER_RF_classification",],
horizontal = TRUE, xaxt = "n", xlab = "Error rate ratio", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("  0.92", "", "0.96", "", "1.00", "", "1.04"))
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "Error rate ratio", line = 6.5, cex = 1)
graphics.off()
# ADD 6: Figures 3-5 but using quadratic scores
# ---------------------------------------------
# execute the following commands to produce an additional figure Add_6 that is stored in the folder 'Figures'
graphics.off()
pdf(file = "Add_6.pdf", width = 6, height = 5)
par(mfrow = c(3, 4), mar = c(0, 0, 0, 0), oma = c(0.5, 9, 5, 0.5))
# 9 response levels
# -----------------
# row with zeta = 0.6
boxplot(simquadscores_ncat9_n200_cor["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 0.6"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
mtext(side = 3, text = "    With correlations                 Without correlations", cex = 1.1, line = 3, outer = TRUE)
mtext(side = 3, text = expression(italic("RF ordinal")), cex = 1, line = 1)
boxplot(simquadscores_ncat9_n200_cor["AUC_ERVIM_RF_classification",],
simquadscores_ncat9_n200_cor["AUC_RPSVIM_RF_classification",],
simquadscores_ncat9_n200_cor["AUC_MSEVIM_RF_classification",],
simquadscores_ncat9_n200_cor["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF classification")), cex = 1, line = 1)
boxplot(simquadscores_ncat9_n200_nocor["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF ordinal")), cex = 1, line = 1)
boxplot(simquadscores_ncat9_n200_nocor["AUC_ERVIM_RF_classification",],
simquadscores_ncat9_n200_nocor["AUC_RPSVIM_RF_classification",],
simquadscores_ncat9_n200_nocor["AUC_MSEVIM_RF_classification",],
simquadscores_ncat9_n200_nocor["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF classification")), cex = 1, line = 1)
# row with zeta = 1
boxplot(simquadscores_ncat9_n200_cor_mix1["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor_mix1["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor_mix1["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor_mix1["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 1"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
boxplot(simquadscores_ncat9_n200_cor_mix1["AUC_ERVIM_RF_classification",],
simquadscores_ncat9_n200_cor_mix1["AUC_RPSVIM_RF_classification",],
simquadscores_ncat9_n200_cor_mix1["AUC_MSEVIM_RF_classification",],
simquadscores_ncat9_n200_cor_mix1["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat9_n200_nocor_mix1["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor_mix1["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor_mix1["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor_mix1["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat9_n200_nocor_mix1["AUC_ERVIM_RF_classification",],
simquadscores_ncat9_n200_nocor_mix1["AUC_RPSVIM_RF_classification",],
simquadscores_ncat9_n200_nocor_mix1["AUC_MSEVIM_RF_classification",],
simquadscores_ncat9_n200_nocor_mix1["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
# row with zeta = 0
boxplot(simquadscores_ncat9_n200_cor_mix2["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor_mix2["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor_mix2["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat9_n200_cor_mix2["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 0"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
boxplot(simquadscores_ncat9_n200_cor_mix2["AUC_ERVIM_RF_classification",],
simquadscores_ncat9_n200_cor_mix2["AUC_RPSVIM_RF_classification",],
simquadscores_ncat9_n200_cor_mix2["AUC_MSEVIM_RF_classification",],
simquadscores_ncat9_n200_cor_mix2["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat9_n200_nocor_mix2["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor_mix2["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor_mix2["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat9_n200_nocor_mix2["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat9_n200_nocor_mix2["AUC_ERVIM_RF_classification",],
simquadscores_ncat9_n200_nocor_mix2["AUC_RPSVIM_RF_classification",],
simquadscores_ncat9_n200_nocor_mix2["AUC_MSEVIM_RF_classification",],
simquadscores_ncat9_n200_nocor_mix2["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
legend("bottomright", fill = c("gray95", "gray70", "gray55", "gray40"), legend = c("ER", "RPS", "MSE", "MAE"))
# 6 response levels
# -----------------
# row with zeta = 0.6
boxplot(simquadscores_ncat6_n200_cor["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 0.6"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
mtext(side = 3, text = "    With correlations                 Without correlations", cex = 1.1, line = 3, outer = TRUE)
mtext(side = 3, text = expression(italic("RF ordinal")), cex = 1, line = 1)
boxplot(simquadscores_ncat6_n200_cor["AUC_ERVIM_RF_classification",],
simquadscores_ncat6_n200_cor["AUC_RPSVIM_RF_classification",],
simquadscores_ncat6_n200_cor["AUC_MSEVIM_RF_classification",],
simquadscores_ncat6_n200_cor["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF classification")), cex = 1, line = 1)
boxplot(simquadscores_ncat6_n200_nocor["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF ordinal")), cex = 1, line = 1)
boxplot(simquadscores_ncat6_n200_nocor["AUC_ERVIM_RF_classification",],
simquadscores_ncat6_n200_nocor["AUC_RPSVIM_RF_classification",],
simquadscores_ncat6_n200_nocor["AUC_MSEVIM_RF_classification",],
simquadscores_ncat6_n200_nocor["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF classification")), cex = 1, line = 1)
# row with zeta = 1
boxplot(simquadscores_ncat6_n200_cor_mix1["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor_mix1["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor_mix1["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor_mix1["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 1"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
boxplot(simquadscores_ncat6_n200_cor_mix1["AUC_ERVIM_RF_classification",],
simquadscores_ncat6_n200_cor_mix1["AUC_RPSVIM_RF_classification",],
simquadscores_ncat6_n200_cor_mix1["AUC_MSEVIM_RF_classification",],
simquadscores_ncat6_n200_cor_mix1["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat6_n200_nocor_mix1["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor_mix1["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor_mix1["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor_mix1["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat6_n200_nocor_mix1["AUC_ERVIM_RF_classification",],
simquadscores_ncat6_n200_nocor_mix1["AUC_RPSVIM_RF_classification",],
simquadscores_ncat6_n200_nocor_mix1["AUC_MSEVIM_RF_classification",],
simquadscores_ncat6_n200_nocor_mix1["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
# row with zeta = 0
boxplot(simquadscores_ncat6_n200_cor_mix2["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor_mix2["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor_mix2["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat6_n200_cor_mix2["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 0"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
boxplot(simquadscores_ncat6_n200_cor_mix2["AUC_ERVIM_RF_classification",],
simquadscores_ncat6_n200_cor_mix2["AUC_RPSVIM_RF_classification",],
simquadscores_ncat6_n200_cor_mix2["AUC_MSEVIM_RF_classification",],
simquadscores_ncat6_n200_cor_mix2["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat6_n200_nocor_mix2["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor_mix2["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor_mix2["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat6_n200_nocor_mix2["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat6_n200_nocor_mix2["AUC_ERVIM_RF_classification",],
simquadscores_ncat6_n200_nocor_mix2["AUC_RPSVIM_RF_classification",],
simquadscores_ncat6_n200_nocor_mix2["AUC_MSEVIM_RF_classification",],
simquadscores_ncat6_n200_nocor_mix2["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
legend("bottomright", fill = c("gray95", "gray70", "gray55", "gray40"), legend = c("ER", "RPS", "MSE", "MAE"))
# 3 response levels
# -----------------
# row with zeta = 0.6
boxplot(simquadscores_ncat3_n200_cor["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 0.6"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
mtext(side = 3, text = "    With correlations                 Without correlations", cex = 1.1, line = 3, outer = TRUE)
mtext(side = 3, text = expression(italic("RF ordinal")), cex = 1, line = 1)
boxplot(simquadscores_ncat3_n200_cor["AUC_ERVIM_RF_classification",],
simquadscores_ncat3_n200_cor["AUC_RPSVIM_RF_classification",],
simquadscores_ncat3_n200_cor["AUC_MSEVIM_RF_classification",],
simquadscores_ncat3_n200_cor["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF classification")), cex = 1, line = 1)
boxplot(simquadscores_ncat3_n200_nocor["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF ordinal")), cex = 1, line = 1)
boxplot(simquadscores_ncat3_n200_nocor["AUC_ERVIM_RF_classification",],
simquadscores_ncat3_n200_nocor["AUC_RPSVIM_RF_classification",],
simquadscores_ncat3_n200_nocor["AUC_MSEVIM_RF_classification",],
simquadscores_ncat3_n200_nocor["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 3, text = expression(italic("RF classification")), cex = 1, line = 1)
# row with zeta = 1
boxplot(simquadscores_ncat3_n200_cor_mix1["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor_mix1["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor_mix1["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor_mix1["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 1"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
boxplot(simquadscores_ncat3_n200_cor_mix1["AUC_ERVIM_RF_classification",],
simquadscores_ncat3_n200_cor_mix1["AUC_RPSVIM_RF_classification",],
simquadscores_ncat3_n200_cor_mix1["AUC_MSEVIM_RF_classification",],
simquadscores_ncat3_n200_cor_mix1["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat3_n200_nocor_mix1["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor_mix1["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor_mix1["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor_mix1["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat3_n200_nocor_mix1["AUC_ERVIM_RF_classification",],
simquadscores_ncat3_n200_nocor_mix1["AUC_RPSVIM_RF_classification",],
simquadscores_ncat3_n200_nocor_mix1["AUC_MSEVIM_RF_classification",],
simquadscores_ncat3_n200_nocor_mix1["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
# row with zeta = 0
boxplot(simquadscores_ncat3_n200_cor_mix2["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor_mix2["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor_mix2["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat3_n200_cor_mix2["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
mtext(side = 2, text = expression(zeta ~ " = 0"), line = 5, cex = 1.5)
mtext(side = 2, text = "AUC", line = 2.5)
boxplot(simquadscores_ncat3_n200_cor_mix2["AUC_ERVIM_RF_classification",],
simquadscores_ncat3_n200_cor_mix2["AUC_RPSVIM_RF_classification",],
simquadscores_ncat3_n200_cor_mix2["AUC_MSEVIM_RF_classification",],
simquadscores_ncat3_n200_cor_mix2["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat3_n200_nocor_mix2["AUC_ERVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor_mix2["AUC_RPSVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor_mix2["AUC_MSEVIM_RF_ordinal",],
simquadscores_ncat3_n200_nocor_mix2["AUC_MAEVIM_RF_ordinal",],
ylim = c(0.5, 1), xaxt = "n", yaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
boxplot(simquadscores_ncat3_n200_nocor_mix2["AUC_ERVIM_RF_classification",],
simquadscores_ncat3_n200_nocor_mix2["AUC_RPSVIM_RF_classification",],
simquadscores_ncat3_n200_nocor_mix2["AUC_MSEVIM_RF_classification",],
simquadscores_ncat3_n200_nocor_mix2["AUC_MAEVIM_RF_classification",],
ylim = c(0.5, 1), yaxt = "n", xaxt = "n", col = c("gray95", "gray70", "gray55", "gray40"))
legend("bottomright", fill = c("gray95", "gray70", "gray55", "gray40"), legend = c("ER", "RPS", "MSE", "MAE"))
graphics.off()
graphics.off()
pdf(file = "Figure_2.pdf", width = 5, height = 6)
par(mfrow = c(3,2), mar = c(0, 0, 0, 0), oma = c(8, 7, 4, 0.8), cex.axis = 1.5)
# row with zeta = 0.6
boxplot(sim_ncat3_n200_cor["RPS_RF_ordinal",]/sim_ncat3_n200_cor["RPS_RF_classification",],
sim_ncat6_n200_cor["RPS_RF_ordinal",]/sim_ncat6_n200_cor["RPS_RF_classification",],
sim_ncat9_n200_cor["RPS_RF_ordinal",]/sim_ncat9_n200_cor["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 0.6"), line = 5, cex = 1.1)
mtext(side = 3, text = "With correlations", line = 1, cex = 1.1)
boxplot(sim_ncat3_n200_nocor["RPS_RF_ordinal",]/sim_ncat3_n200_nocor["RPS_RF_classification",],
sim_ncat6_n200_nocor["RPS_RF_ordinal",]/sim_ncat6_n200_nocor["RPS_RF_classification",],
sim_ncat9_n200_nocor["RPS_RF_ordinal",]/sim_ncat9_n200_nocor["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
mtext(side = 3, text = "Without correlations", line = 1, cex = 1.1)
# row with zeta = 1
boxplot(sim_ncat3_n200_cor_mix1["RPS_RF_ordinal",]/sim_ncat3_n200_cor_mix1["RPS_RF_classification",],
sim_ncat6_n200_cor_mix1["RPS_RF_ordinal",]/sim_ncat6_n200_cor_mix1["RPS_RF_classification",],
sim_ncat9_n200_cor_mix1["RPS_RF_ordinal",]/sim_ncat9_n200_cor_mix1["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
mtext(side = 2, text = expression(zeta ~ " = 1"), line = 5, cex = 1.1)
boxplot(sim_ncat3_n200_nocor_mix1["RPS_RF_ordinal",]/sim_ncat3_n200_nocor_mix1["RPS_RF_classification",],
sim_ncat6_n200_nocor_mix1["RPS_RF_ordinal",]/sim_ncat6_n200_nocor_mix1["RPS_RF_classification",],
sim_ncat9_n200_nocor_mix1["RPS_RF_ordinal",]/sim_ncat9_n200_nocor_mix1["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
# row with zeta = 0
boxplot(sim_ncat3_n200_cor_mix2["RPS_RF_ordinal",]/sim_ncat3_n200_cor_mix2["RPS_RF_classification",],
sim_ncat6_n200_cor_mix2["RPS_RF_ordinal",]/sim_ncat6_n200_cor_mix2["RPS_RF_classification",],
sim_ncat9_n200_cor_mix2["RPS_RF_ordinal",]/sim_ncat9_n200_cor_mix2["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(2, at = 1:3, labels = c("k = 3", "k = 6", "k = 9"), las = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("0.92", "", "0.96", "", "1.00", "", ""))
mtext(side = 2, text = expression(zeta ~ " = 0"), line = 5, cex = 1.1)
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "RPS ratio", line = 6.5, cex = 1)
boxplot(sim_ncat3_n200_nocor_mix2["RPS_RF_ordinal",]/sim_ncat3_n200_nocor_mix2["RPS_RF_classification",],
sim_ncat6_n200_nocor_mix2["RPS_RF_ordinal",]/sim_ncat6_n200_nocor_mix2["RPS_RF_classification",],
sim_ncat9_n200_nocor_mix2["RPS_RF_ordinal",]/sim_ncat9_n200_nocor_mix2["RPS_RF_classification",],
horizontal = TRUE, xaxt = "n", xlab = "RPS Ratio", yaxt = "n", ylim = c(0.92, 1.04))
abline(v = 1, lty = 2)
axis(1, at = c(0.92, 0.94, 0.96, 0.98, 1, 1.02, 1.04), labels = c("  0.92", "", "0.96", "", "1.00", "", "1.04"))
arrows(1.005, -0.4, 1.04, -0.4, xpd = NA, length = 0.1)
arrows(0.995, -0.4, 0.96, -0.4, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 3.5, cex = 0.7)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 4.5, cex = 0.7)
mtext(side = 1, text = "RPS ratio", line = 6.5, cex = 1)
graphics.off()
path <- "Z:/cmmgrp/Silke/RFordinal_SJ_GT_ALB/"
setwd(paste(path, "reproducible_files/Real_Data_Applications/R_Objects/", sep = "")) # change working directory
# load all relevant R objects into the workspace
for(i in grep("pred_perf_", dir())) load(dir()[i])
setwd("../Figures/") # change working directory where figures shall be strored
# execute the following commands to produce Figure 7 that is stored in the folder 'Figures'
graphics.off()
pdf(file = "Figure_7.pdf", width = 8.5, height = 4)
par(mfrow = c(1, 2), mar = c(7, 0, 0.5, 1), oma = c(0, 14, 0, 0.5))
boxplot(pred_perf_mammoexp["RPS_RF_ordinal",] / pred_perf_mammoexp["RPS_RF_classification",],
pred_perf_SUPPORT["RPS_RF_ordinal",] / pred_perf_SUPPORT["RPS_RF_classification",],
pred_perf_NHANES["RPS_RF_ordinal",] / pred_perf_NHANES["RPS_RF_classification",],
pred_perf_wine["RPS_RF_ordinal",] / pred_perf_wine["RPS_RF_classification",],
pred_perf_vlbw["RPS_RF_ordinal",] / pred_perf_vlbw["RPS_RF_classification",],
horizontal = TRUE, yaxt = "n", main = "", ylim = c(0.92, 1.04), cex = 0.2)
abline(v = 1, lty = 2)
axis(side = 2, at = 5:1, las = 2, labels = c("Very Low Birth Weight (k = 9)", "Wine Quality (k = 6)", "NHANES (k = 5)",
"SUPPORT Study (k = 5)", "Mammography Experience (k = 3)"))
abline(v = 1, lty = 2)
arrows(1.005, -0.8, 1.04, -0.8, xpd = NA, length = 0.1)
arrows(0.995, -0.8, 0.96, -0.8, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 2.7, cex = 0.9)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 3.5, cex = 0.9)
mtext(side = 1, text = "RPS ratio", line = 5.5, cex = 1)
boxplot(pred_perf_mammoexp["ER_RF_ordinal",] / pred_perf_mammoexp["ER_RF_classification",],
pred_perf_SUPPORT["ER_RF_ordinal",] / pred_perf_SUPPORT["ER_RF_classification",],
pred_perf_NHANES["ER_RF_ordinal",] / pred_perf_NHANES["ER_RF_classification",],
pred_perf_wine["ER_RF_ordinal",] / pred_perf_wine["ER_RF_classification",],
pred_perf_vlbw["ER_RF_ordinal",] / pred_perf_vlbw["ER_RF_classification",],
horizontal = TRUE, yaxt = "n", main = "", ylim = c(0.92, 1.04), cex = 0.2)
abline(v = 1, lty = 2)
arrows(1.005, -0.8, 1.04, -0.8, xpd = NA, length = 0.1)
arrows(0.995, -0.8, 0.96, -0.8, xpd = NA, length = 0.1)
mtext(side = 1, text = expression(paste("                       ", italic("RF ordinal"), "     ", italic("RF classifi-"))), line = 2.7, cex = 0.9)
mtext(side = 1, text = expression(paste("                               better      ", italic("cation"), " better")), line = 3.5, cex = 0.9)
mtext(side = 1, text = "Error rate ratio", line = 5.5, cex = 1)
graphics.off()
