Solución de algún bug con el ordenamiento de elementos == 1.

This commit is contained in:
Costa
2022-03-24 12:32:48 +01:00
parent e57141aa22
commit 9ab832c900
+23 -11
View File
@@ -17,20 +17,32 @@ ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_gro
df<-df %>% summarise(Value=median(Value)) %>% ungroup df<-df %>% summarise(Value=median(Value)) %>% ungroup
} }
if (length(unique(df$VarX)) > 1 & length(unique(df$VarY)) > 1){ if (length(unique(df$VarX)) > 1 & length(unique(df$VarY)) >
order<-clustsort(df %>% spread(VarY,Value) %>% select(!all_of(exclude_group)) %>% as.data.frame) 1) {
}else{ order <- clustsort(df %>% spread(VarY, Value) %>% select(!all_of(exclude_group)) %>%
as.data.frame)
}
else {
order <- list() order <- list()
if (length(unique(df$VarX)) > 1) { if (length(unique(df$VarX)) > 1) {
xhclust<-clustsort(df %>% spread(VarY,Value) %>% select(!all_of(exclude_group)) %>% as.data.frame) xhclust <- df %>% spread(VarY, Value) %>%
order[["x"]]<-pull(xhclust, 1)[hclust(dist(xhclust %>% select(-1)))$order] select(!all_of(exclude_group)) %>% as.data.frame
}else{order[["x"]]<-df %>% pull(VarX) %>% unique} order[["x"]] <- pull(xhclust, 1)[hclust(dist(xhclust %>%
if (length(unique(df$VarY)) > 1){ select(-1)))$order]
yhclust<-clustsort(df %>% spread(VarY,Value) %>% select(!all_of(exclude_group)) %>% as.data.frame) }
order[["y"]]<-colnames(yhclust)[2:ncol(yhclust)][hclust(dist(t(yhclust %>% select(-1))))$order] else {
}else{order[["y"]]<-df %>% pull(VarY) %>% unique} order[["x"]] <- df %>% pull(VarX) %>% unique
}
if (length(unique(df$VarY)) > 1) {
yhclust <- clustsort(df %>% spread(VarY, Value) %>%
select(!all_of(exclude_group)) %>% as.data.frame)
order[["y"]] <- colnames(yhclust)[2:ncol(yhclust)][hclust(dist(t(yhclust %>%
select(-1))))$order]
}
else {
order[["y"]] <- df %>% pull(VarY) %>% unique
}
} }
if (scale != "none"){ if (scale != "none"){
if (scale == "rows"){ if (scale == "rows"){