From 0b6f3b80d1cc86505a441985eb7c9ace0e328911 Mon Sep 17 00:00:00 2001 From: Marcel Costa Date: Sat, 5 Feb 2022 10:38:57 +0100 Subject: [PATCH] =?UTF-8?q?A=C3=B1adiendo=20la=20opci=C3=B3n=20de=20exclui?= =?UTF-8?q?r=20del=20agrupamiento.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- R/ggheatmap.R | 7 +++---- man/ggheatmap.Rd | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/R/ggheatmap.R b/R/ggheatmap.R index 72d0b94..7d527b8 100644 --- a/R/ggheatmap.R +++ b/R/ggheatmap.R @@ -5,10 +5,10 @@ ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_gro df<-rename(df, "VarX"=all_of(x), "VarY"=all_of(y), "Value"=all_of(value)) - if (!is.null(exclude_group)){ + if (is.null(exclude_group)){ df<-df %>% group_by(VarX,VarY) }else{ - df<-df %>% group_by(VarX,VarY,all_of(exclude_group)) + df<-df %>% group_by_("VarX","VarY",exclude_group) #%>% rename(exclude_group="all_of(exclude_group)") } if (grouping == "mean"){ df<-df %>% summarise(Value=mean(Value)) %>% ungroup @@ -16,8 +16,7 @@ ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_gro if (grouping == "median"){ df<-df %>% summarise(Value=median(Value)) %>% ungroup } - - order<-clustsort(df %>% spread(VarY,Value) %>% as.data.frame) + order<-clustsort(df %>% spread(VarY,Value) %>% select(!all_of(exclude_group)) %>% as.data.frame) df$VarX<-factor(df$VarX, levels=order$x) df$VarY<-factor(df$VarY, levels=order$y) diff --git a/man/ggheatmap.Rd b/man/ggheatmap.Rd index 7d98aa4..bf4c9af 100644 --- a/man/ggheatmap.Rd +++ b/man/ggheatmap.Rd @@ -2,7 +2,7 @@ \alias{ggheatmap} \title{ggheatmap} \usage{ -ggheatmap(df, x=NULL, y=NULL, value=NULL, grouping="mean") +ggheatmap(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL) } \arguments{ \item{df}{A data frame in "long" format.} @@ -10,6 +10,7 @@ ggheatmap(df, x=NULL, y=NULL, value=NULL, grouping="mean") \item{y}{The variable that will be used for Y axis in the heatmap. If not specified, the second column will be used.} \item{value}{The variable that will be used for colouring the heatmap. If not specified, the third column will be used.} \item{grouping}{The function that will be used to group if there is more than one observation for each X-Y combination. "mean" or "median" are posible, defaulting to "mean".} + \item{exclude_group}{If you want to exclude columns from grouping, you can introduce a character vector here. Useful if you want to facet the plot.} } \description{ Generates a heatmap using ggplot for a dataframe.