簡體   English   中英

如何在熱圖熱圖中添加額外的提示

[英]How to have an additional coloumn in a heatmaply heatmap

我正在使用heatmaply從多個評估者獲得的回答的聚集熱圖,這些熱圖是使用相同的Leikert量表(ECOG績效狀態)對一系列問題進行評分的。 熱圖效果很好(盡管在序數數據上使用分層聚類可能不是最好的方法)。 我想在熱圖中顯示一個額外的欄目,其中在其他變量(例如,年齡)上使用顏色編碼信息。 附上我使用軟件包生成的示例熱圖。 藍色的方框包含有關患者性別的信息,但未用顏色區分。 我想知道是否可以做同樣的事情。 也歡迎對用於序數數據的正確聚類方法的任何投入。
原始熱圖鏈接 熱圖

使用的代碼在這里:

library(heatmaply)
data4 <- structure(list(UID = c("D1", "D3", "D4", "D5", "D6", "D7", "D8", 
"D9", "D10", "D11", "D12", "D13", "D14", "D15", "D16"), R101 = c(2, 
1, 1, 1, 2, 1, 2, 1, 0, 2, 0, 1, 1, 1, 1), R102 = c(3, 2, 0, 
2, 3, 1, 2, 2, 0, 2, 3, 2, 2, 2, 2), R103 = c(2, 2, 2, 3, 3, 
0, 2, 3, 0, 1, 0, 4, 2, 2, 3), R104 = c(1, 0, 1, 1, 1, 1, 1, 
3, 0, 2, 1, 0, 0, 1, 2), R105 = c(1, 3, 2, 1, 1, 2, 1, 1, 0, 
3, 1, 0, 2, 1, 2), R106 = c(3, 4, 4, 4, 3, 3, 4, 4, 4, 4, 4, 
4, 3, 4, 4), R107 = c(1, 3, 3, 1, 2, 3, 2, 3, 3, 3, 3, 3, 1, 
3, 3), R108 = c(0, 4, 2, 2, 1, 3, 3, 2, 3, 3, 4, 3, 3, 3, 3), 
    R109 = c(0, 2, 0, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1), R110 = c(1, 
    1, 0, 1, 1, 1, 2, 1, 0, 1, 0, 1, 0, 1, 1), R111 = c(3, 2, 
    2, 3, 3, 2, 2, 3, 1, 3, 4, 2, 2, 3, 2), R112 = c(1, 2, 2, 
    1, 1, 1, 1, 3, 1, 2, 2, 2, 1, 1, 1), Gender = structure(c(2L, 
    1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("male", 
    "female"), class = "factor")), .Names = c("UID", "R101", 
"R102", "R103", "R104", "R105", "R106", "R107", "R108", "R109", 
"R110", "R111", "R112", "Gender"), row.names = c(NA, -15L), class = c("tbl_df", 
"tbl", "data.frame"))

p <-heatmaply(data4[1:13],fontsize_row = 8,fontsize_col = 6,Rowv =F,grid_gap = 0.5,colors = viridis(n = 256, alpha = 1, begin = 1,end = 0, option = "viridis"),branches_lwd = 0.2,row_side_colors =as.factor( data4$Gender))
p

該代碼的確會為兩個因素生成一個用顏色編碼的注釋。 但是,當有足夠的級別時,顏色方案默認為彩虹方案,這可能很難區分。 您可能需要嘗試子集的熱圖,或嘗試設置不同row_side_paletteheatmaply

您可能還希望將row_side_colors作為data.frame而不是向量傳遞,以確保在行名和懸浮文本中正確命名它們。

請參見下面的代碼,其中包括一些小的調整。

heatmaply(
  data4[, setdiff(colnames(data4), c("Gender", "UID"))],
  plot_method = "plotly",
  fontsize_row = 8,
  fontsize_col = 6,
  Rowv = FALSE,
  grid_gap = 0.5,
  colors = viridis(n = 256, alpha = 1, begin = 1,end = 0, option = "viridis"),
  branches_lwd = 0.2,
  row_side_colors = data4[, c("Gender", "UID")])

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM