我正在尝试在 R 中创建热图。我尝试过使用 heatmap.2 命令。
我的数据由 x 和 y 列以及一个点的相关相对频率组成(频率除以总频率)
在大多数地方频率为零,而在其他地方则相对频率较小。我已将数据转换为矩阵,因为这似乎是 heatmap 命令想要的,并试图删除 x 和 y 坐标。
BB <- matrix(as.matrix(surfacerevfreq1[, 3]), ncol = 35, byrow = T)
在我看来有两个问题,并非所有 x 和 y 坐标都被列出。即 x 坐标从 1 开始到 35,而 y 坐标从 11 开始到 30。热图函数似乎不喜欢这样。我考虑过在数据集的开头插入零,以便 y 轴上 1-10 的每个点都有一个值。但是,我不确定这是否是最好的主意。
所以我想我的问题是:我如何格式化我的数据,以便我可以从这些数据中获得有效的热图?我应该补充一点,如果可能的话,我希望我的 x 和 y 刻度上的数字也显示出来。由于它以图形方式显示与每个点相关的相对频率的目的。
谢谢。
这是我的数据的一个子集,以便您可以看到它的矩阵形式
col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12
0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24
0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0005017561 0.0005017561 0.0000000000
col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35
0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
这是我正在使用的热图命令:
hU <- heatmap.2(xx, Rowv=FALSE, symm=TRUE, trace="none", density.info="none", dendrogram="none")