Browse Source

Añadida opción de escalado.

main
Marcel Costa 2 years ago
parent
commit
eeba7ea855
1 changed files with 16 additions and 1 deletions
  1. +16
    -1
      R/ggheatmap.R

+ 16
- 1
R/ggheatmap.R

@ -1,4 +1,4 @@
ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL){
ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL, scale="none"){
if (is.null(x)){x=colnames(df)[1]} if (is.null(x)){x=colnames(df)[1]}
if (is.null(y)){y=colnames(df)[2]} if (is.null(y)){y=colnames(df)[2]}
if (is.null(value)){value=colnames(df)[3]} if (is.null(value)){value=colnames(df)[3]}
@ -21,6 +21,21 @@ ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_gro
df$VarX<-factor(df$VarX, levels=order$x) df$VarX<-factor(df$VarX, levels=order$x)
df$VarY<-factor(df$VarY, levels=order$y) df$VarY<-factor(df$VarY, levels=order$y)
if (scale != "none"){
if (scale == "rows"){
cols<-unique(df$VarY)
sca.df<-spread(df, VarY, Value)
for (i in cols){sca.df[,i]<-scale(sca.df[,i])}
df<-gather(sca.df, VarY, Value, all_of(cols))
}
if (scale == "cols"){
cols<-unique(df$VarX)
sca.df<-spread(df, VarX, Value)
for (i in cols){sca.df[,i]<-scale(sca.df[,i])}
df<-gather(sca.df, VarX, Value, all_of(cols))
}
}
df %>% df %>%
ggplot(aes(VarX, VarY, fill=Value))+ ggplot(aes(VarX, VarY, fill=Value))+
labs(x=x, y=y)+ labs(x=x, y=y)+

Loading…
Cancel
Save