проблема с изменением тепловой карты в r с помощью pheatmap

Кто-нибудь знает, как изменить мою тепловую карту, чтобы она была похожа на вторую, которую я опубликовал? Мне нужно поменять все стороны в основном. Я попробовал несколько решений, но ничего не помогло. Я использую pheatmap().

введите изображение  описание здесь

Это мой код:

library(pheatmap)
library(grid)

all_data2 <- cbind(amino,sphingo,hexoses,phospha,lyso,acyl)
matrix_data <- as.matrix(amino[, 3:31])
rownames(matrix_data) <- sample_id$`Sample Identification`
heatmap_final <- matrix_data[,!colnames(matrix_data) %in% c('Sample Identification.1','Sample Identification.2','Sample Identification','Time point.1','Time point.2', 'Time point')]

all_data2 = data.frame("Time point" = c(rep("T0",45),rep("T1",45)))
rownames(all_data2) = rownames(heatmap_final) # name matching

heatmap_final[order(rownames(heatmap_final)),order(colnames(heatmap_final))]

draw_colnames_45 <- function (coln, gaps, ...) {
 coord <- pheatmap:::find_coordinates(length(coln), gaps)
 x     <- coord$coord - 0.5 * coord$size
 res   <- grid::textGrob(
   coln, x = x, y = unit(1, "npc") - unit(3,"bigpts"),
   vjust = 0.75, hjust = 1, rot = 45, gp = grid::gpar(...)
 )
 return(res)
}
assignInNamespace(
 x = "draw_colnames",
 value = "draw_colnames_45",
 ns = asNamespace("pheatmap")
)


 
 
pheatmap(
 mat = log2(heatmap_final),
 scale = "column",
 annotation_row = all_data2,
 cluster_rows = F,
 show_rownames = TRUE,
 drop_levels = TRUE,
 fontsize = 5,
 clustering_method = "complete",
 main = "Hierachical Cluster Analysis"
)



Он должен быть отсортирован таким образом, и если у кого-нибудь есть идея, как переключить мою тепловую карту, чтобы она соответствовала второй, я был бы благодарен.

введите изображение  описание здесь


person doc elfein    schedule 12.09.2020    source источник


Ответы (1)


Вы можете транспонировать матрицу ввода с помощью t(). Затем вам необходимо соответственно изменить другие параметры, которые зависят от строк / столбцов вашей тепловой карты:

pheatmap(
 mat = t(log2(heatmap_final)),
 scale = "row",
 annotation_col = all_data2,
 cluster_cols = F,
 show_rownames = TRUE,
 drop_levels = TRUE,
 fontsize = 5,
 clustering_method = "complete",
 main = "Hierachical Cluster Analysis"
)
person starja    schedule 12.09.2020
comment
ты как всегда потрясающий, мне все удалось !! Я думал, что путь сложный. - person doc elfein; 13.09.2020
comment
рад помочь. Если ответ окажется полезным, примите его. - person starja; 13.09.2020
comment
вы, может быть, теперь, как уменьшить размер легенды разрыва? это больше, чем мой сюжет прямо сейчас - person doc elfein; 13.09.2020
comment
Я нашел только это может задать новый вопрос - person starja; 13.09.2020
comment
Да, спасибо! Я только что задал новый вопрос: есть ли у вас какие-нибудь любимые пакеты, когда дело касается анализа основных компонентов или PLS-DA? это следующие графики, которые мне нужно создать. - person doc elfein; 14.09.2020
comment
не совсем так, при быстром поиске я нашел эти руководства: datacamp.com/community/ tutorials / pca-analysis-r и r -bloggers.com/computing-and-visualizing-pca-in-r - person starja; 14.09.2020
comment
Спасибо, посмотрю! - person doc elfein; 14.09.2020