From c26e4ff4a3ca378d50fa0b378d36ee16673520e1 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Mon, 11 Oct 2021 11:14:08 +0200 Subject: [PATCH] Add option to penalize missing values --- server.R | 18 +++++++++++++++--- ui.R | 4 ++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/server.R b/server.R index 13eb005..3e924cc 100644 --- a/server.R +++ b/server.R @@ -58,10 +58,22 @@ server <- function(input, output) { results[, score := clusteriness_factor * clusteriness + correlation_factor * correlation + neural_factor * neural] - # Apply the cut-off score & the required number of species. + # Exclude genes with too few species. + results <- results[n_species >= input$n_species] - results <- results[n_species >= input$n_species & - score >= input$cutoff / 100] + # Penalize missing species. + if (input$penalize) { + species_count <- if (input$species == "all") { + nrow(species) + } else { + length(species_ids_replicative) + } + + results <- results[, score := score * n_species / species_count] + } + + # Apply the cut-off score. + results <- results[score >= input$cutoff / 100] # Order the results based on their score. The resulting index will be # used as the "rank". diff --git a/ui.R b/ui.R index 0e1ac75..ca5f818 100644 --- a/ui.R +++ b/ui.R @@ -57,6 +57,10 @@ ui <- fluidPage( max = 100, step = 1, value = 50 + ), + checkboxInput( + "penalize", + "Penalize missing values" ) ), wellPanel(