使用带有x和y的数据框填充矩阵

时间:2013-07-31 23:56:21

标签: r matrix heatmap dendrogram

R问题:我想在一列中使用x坐标的数据框,在第二列中使用y坐标来填充矩阵。然后heatmap()使用矩阵来创建树形图。

以下是一个例子:

> head(S1)
  DB_num AD_num
1      2   8060
2      7   3553
3      8   4812
4     13   7745
5     24   3315
6     24   6012

如果可能的话,我还需要知道如何制作矩阵。数据框的最大值是15,490,所以我猜矩阵必须是15,490到15,490。因为矩阵太大了 我想它必须用NA而不是零填充?

1 个答案:

答案 0 :(得分:1)

mtx <- matrix(NA, 15490 , 15,490)
mtx[ as.matrix(S1) ] <- 1   # two column matrix can be used to index

如果这是您的策略,您将需要有足够的机器资源。它不适合大多数4GB设备,或者它可能适合但如果你试图用它做任何事情就会耗尽内存。除非使用pkg :: Matrix的稀疏矩阵,否则填充NA将无法节省空间。我仍然认为您需要的统计建议比您需要编码建议更多,即使您似乎删除了此问题的早期版本。我确实认为这是建立分类结构的明智方法。