0

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 x 15,490。由于矩阵如此之大,我猜它必须用 NA 而不是零填充?

4

1 回答 1

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

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

于 2013-08-01T00:33:41.317 回答