绘制我有要在热图的可视化矩阵,具有ggplot,例如在R. geom_tile的数据是在变换矩阵,使得它可以与热图中的R
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,因为它看起来慢很多。谢谢。
绘制我有要在热图的可视化矩阵,具有ggplot,例如在R. geom_tile的数据是在变换矩阵,使得它可以与热图中的R
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
我将数据框转换为矩阵后,它的工作原理。看来,熔解()不能处理数据帧。 –
@ S.Wang事实上,融化可以处理数据帧和矩阵。如果你想将rownames作为id.var,熔化可以从矩阵中捕获rownames,但对于数据框,我相信你必须为rownames创建一个变量,然后使用参数id.var来引用它。有关融化数据框的更多详细信息,请尝试?melt.data.frame –
@ S.Wang您在您的问题中提到“我有一个矩阵” –
''从reshape2' melt'不正是这个 –
@Patronus你能解释一下吗? I和II是列名,A和B是行名。当我使用熔化()时,我只得到一列变量和一列值,并且行名消失。它说类似“没有id变量;使用所有作为度量变量” –