#' Loss distribution elbow plot. #' #' Boxplots of the loss from \code{min.dim} to \code{max.dim} \code{k} values. #' #' @param x Object of class \code{"cve"} (result of [\code{\link{cve}}]). #' @param ... Pass through parameters to [\code{\link{plot}}] and #' [\code{\link{lines}}] #' #' @seealso see \code{\link{par}} for graphical parameters to pass through #' as well as \code{\link{plot}}, the standard plot utility. #' @method plot cve #' @importFrom graphics plot lines points boxplot #' @export plot.cve <- function(x, ...) { L <- c() k <- c() for (dr.k in x$res) { if (class(dr.k) == 'cve.k') { k <- c(k, as.character(dr.k$k)) L <- c(L, dr.k$L) } } L <- matrix(L, ncol = length(k)) / var(x$Y) boxplot(L, main = "elbow plot", xlab = "SDR dimension", ylab = "Sample loss distribution", names = k) }