转换矩阵,以便可以在 R 中用热图绘制它

Transform a matrix so that it can be plotted with heatmap in R

我有一个矩阵,我想在热图中使用 ggplot 进行可视化,例如 R 中的 geom_tile。当前数据的格式为

   I   II
A  1   2
B  3   4

但是,要使用 ggplot,我需要将此矩阵转换为格式如下的数据框:

Var1   Var2   Value
A      I      1
A      II     2
B      I      3
B      II     4

如何将矩阵转换为这种格式以便我可以使用 ggplot?我不想要像 gplot 这样的可视化包,因为它看起来慢了很多。谢谢

你能用代码展示一下你是如何创建数据的吗?我尝试自己编写代码,融化效果很好。

a = matrix(c(1, 3, 2, 4), 2, dimnames = list(c('A', 'B'), c('I', 'II')))
melt(a)

这是我得到的:

  Var1 Var2 value
1    A    I     1
2    B    I     3
3    A   II     2
4    B   II     4