现在我有一列数据,超过 500 行。

#example
df <- data.frame(
  City = c("New York", "LA", "DC", "Boston", "Chicago"),
  Data = c(780, 982, 111, 893, 989)

我想构建一个热图,但我只有一个变量,即城市。
我可以将此列拆分为多列并创建热图吗?

我是 R 的新手,我在网上找不到任何答案。

提前致谢!

最佳答案

诀窍是用 cbind 和 plot 复制单列...

library(gplots)
df <- data.frame(
  City = c("New York", "LA", "DC", "Boston", "Chicago"),
  Data = c(780, 982, 111, 893, 989)
)

heatmap.2(cbind(df$Data, df$Data), trace="n", Colv = NA,
          dendrogram = "row", labCol = "", labRow = df$City, cexRow = 0.75)
r - R 中一列数据的热图-LMLPHP
将数据包装为 5x2(或 100)的示例
请注意,我完全关闭了树状图,因为任何排序都是毫无意义的。
heatmap.2(matrix(df$Data, ncol = 2), trace="n", Colv = FALSE, Rowv=FALSE,
      cellnote = matrix(df$City, ncol = 2), notecol = 1, scale = "none",
      dendrogram = "none", labCol = "", labRow = "", cexRow = 0.75)
r - R 中一列数据的热图-LMLPHPlabRow : 设置行标签(使用 "" 没有标签)cellnote : 设置单元格标签(如果确实需要单元格标签,请删除此参数)col : 设置调色板。我的建议是使用 colorspaceRColorBrewercolorRamps 中的预定义调色板。
一些建议:
col=col=colorspace::sequential_hcl(15)
col=col=RColorBrewer::brewer.pal(9, "BuGn"
col=colorRamps::ygobb(25)
See this link 有关 R 中调色板的更多信息

关于r - R 中一列数据的热图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44768528/

10-13 03:06