From 7d3bedb4368a63838ae6a825afeffc5168df7c09 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Sun, 21 Nov 2021 23:56:15 +0100 Subject: [PATCH] ranking: Add optimization for median --- R/preset.R | 1 + R/ranking.R | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/R/preset.R b/R/preset.R index 441082c..cc21615 100644 --- a/R/preset.R +++ b/R/preset.R @@ -24,6 +24,7 @@ #' Available optimization targets are: #' #' - `mean` Mean rank of the reference genes. +#' - `median` Median rank of the reference genes. #' - `max` First rank of the reference genes. #' - `min` Last rank of the reference genes. #' diff --git a/R/ranking.R b/R/ranking.R index 67d52d4..0dcbfa7 100644 --- a/R/ranking.R +++ b/R/ranking.R @@ -51,8 +51,8 @@ ranking <- function(analysis, weights) { #' @param analysis Results from [analyze()] or [ranking()]. #' @param methods Methods to include in the score. #' @param reference_gene_ids IDs of the reference genes. -#' @param target The optimization target. It may be one of "mean", "min" or -#' "max" and results in the respective rank being optimized. +#' @param target The optimization target. It may be one of "mean", "median", +#' "min" or "max" and results in the respective rank being optimized. #' #' @returns Named list pairing method names with their optimal weights. This #' can be used as an argument to [ranking()]. @@ -72,8 +72,10 @@ optimal_weights <- function(analysis, methods, reference_gene_ids, min(rank) } else if (target == "max") { max(rank) - } else { + } else if (target == "mean") { mean(rank) + } else { + median(rank) }] if (result > 0) {