From b0c95210bd5ac1fab4514b20a579812c2882fd6a Mon Sep 17 00:00:00 2001 From: Eva Hamrud <50098063+evaham1@users.noreply.github.com> Date: Thu, 28 Nov 2024 15:35:24 +1100 Subject: [PATCH] update perf to deal with multiple replacement plus prints warning --- R/perf.R | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/R/perf.R b/R/perf.R index 9ef66147..190b671d 100644 --- a/R/perf.R +++ b/R/perf.R @@ -1027,7 +1027,13 @@ perf.mixo_plsda <- function(object, } else { - ncomp_opt[measure, ijk] = which(t(rowMeans(mat.error.rate[[measure_i]][[ijk]])) == min(t(rowMeans(mat.error.rate[[measure_i]][[ijk]])))) + if(length(min(t(rowMeans(mat.error.rate[[measure_i]][[ijk]])))) > 1){ + # avoid multiple replacements - fix for issue #303 + print("More than one component found with same minimum error rate, selecting smaller component...") + ncomp_opt[measure, ijk] = which(t(rowMeans(mat.error.rate[[measure_i]][[ijk]])) == min(t(rowMeans(mat.error.rate[[measure_i]][[ijk]]))))[1] + } else{ + ncomp_opt[measure, ijk] = which(t(rowMeans(mat.error.rate[[measure_i]][[ijk]])) == min(t(rowMeans(mat.error.rate[[measure_i]][[ijk]])))) + } } } }