From d69aa8f42209e0eae01d366d1971beb61ab8e7aa Mon Sep 17 00:00:00 2001 From: Midoux Cedric <cedric.midoux@irstea.fr> Date: Tue, 21 Apr 2020 17:15:52 +0200 Subject: [PATCH] CLR transfo (retours OC) --- panels/dataInput.R | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/panels/dataInput.R b/panels/dataInput.R index 932f436..5a6a55b 100644 --- a/panels/dataInput.R +++ b/panels/dataInput.R @@ -300,13 +300,13 @@ output$transformFun <- renderText({ sep = "\n"), "sqrt" = "data_sqrt <- transform_sample_counts(data, sqrt)", "clr" = paste("gm_mean <- function(x, na.rm=TRUE) {", - " exp(sum(log(x[x > 0 & !is.na(x)]), na.rm=na.rm) / length(x))", - " }", - "clr <- function(x, base=2) {", - " x <- log((x / gm_mean(x)), base)", - " x[!is.finite(x) | is.na(x)] <- 0.0", - " return(x)", + " return(exp(mean(log(x), na.rm=na.rm)))", "}", + "clr <- function(x, base=exp(1)) {", + " x <- x+1", + " x <- log(x/gm_mean(x), base)", + " return(x)", + "}", "data_clr <- transform_sample_counts(data, clr)", sep = "\n") ) @@ -328,11 +328,11 @@ observeEvent(input$transformData, { }, "clr" = { gm_mean <- function(x, na.rm=TRUE) { - exp(sum(log(x[x > 0 & !is.na(x)]), na.rm=na.rm) / length(x)) + return(exp(mean(log(x), na.rm=na.rm))) } - clr <- function(x, base=2) { - x <- log((x / gm_mean(x)), base) - x[!is.finite(x) | is.na(x)] <- 0.0 + clr <- function(x, base=exp(1)) { + x <- x+1 + x <- log(x/gm_mean(x), base) return(x) } physeq(transform_sample_counts(physeq(), clr)) -- GitLab