Añadida opción de escalado.
This commit is contained in:
+16
-1
@@ -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)+
|
||||||
|
|||||||
Reference in New Issue
Block a user