diff --git a/R/ggheatmap.R b/R/ggheatmap.R index 35ebcb3..72d0b94 100644 --- a/R/ggheatmap.R +++ b/R/ggheatmap.R @@ -1,15 +1,20 @@ -ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean"){ +ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL){ if (is.null(x)){x=colnames(df)[1]} if (is.null(y)){y=colnames(df)[2]} if (is.null(value)){value=colnames(df)[3]} df<-rename(df, "VarX"=all_of(x), "VarY"=all_of(y), "Value"=all_of(value)) - + + if (!is.null(exclude_group)){ + df<-df %>% group_by(VarX,VarY) + }else{ + df<-df %>% group_by(VarX,VarY,all_of(exclude_group)) + } if (grouping == "mean"){ - df<-df %>% group_by(VarX,VarY) %>% summarise(Value=mean(Value)) %>% ungroup + df<-df %>% summarise(Value=mean(Value)) %>% ungroup } if (grouping == "median"){ - df<-df %>% group_by(VarX,VarY) %>% summarise(Value=median(Value)) %>% ungroup + df<-df %>% summarise(Value=median(Value)) %>% ungroup } order<-clustsort(df %>% spread(VarY,Value) %>% as.data.frame)