Browse Source

Añadir el agrupamiento de datos mediante media o mediana en ggheatmap.

main
Costa 2 years ago
parent
commit
3bd7ea1a28
1 changed files with 12 additions and 4 deletions
  1. +12
    -4
      R/ggheatmap.R

+ 12
- 4
R/ggheatmap.R

@ -1,13 +1,21 @@
ggheatmap<-function(df, x=NULL, y=NULL, value=NULL){
ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean"){
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]}
order<-clustsort(df %>% spread(y,value))
df<-rename(df, "VarX"=x, "VarY"=y, "Value"=value)
if (grouping == "mean"){
df<-df %>% group_by(VarX,VarY) %>% summarise(Value=mean(Value))
}
if (grouping == "median"){
df<-df %>% group_by(VarX,VarY) %>% summarise(Value=median(Value))
}
order<-clustsort(df %>% spread(VarY,Value) %>% as.data.frame)
df %>% df %>%
ggplot(aes_string(x, y, fill=value))+
ggplot(aes(VarX, VarY, fill=Value))+
scale_x_discrete(limits=order$x)+ scale_x_discrete(limits=order$x)+
scale_y_discrete(limits=order$y)+ scale_y_discrete(limits=order$y)+
labs(x=x, y=y)+ labs(x=x, y=y)+

Loading…
Cancel
Save