在R中处理内存有限的大矩阵:如何得到下三角?
我有一个带有数值的大矩阵在R中处理内存有限的大矩阵:如何得到下三角?,r,large-data,R,Large Data,我有一个带有数值的大矩阵bd(25k x 25k),这里是一个内容示例 > bd[1:5, 1:5] [,1] [,2] [,3] [,4] [,5] [1,] 1.8121698 0.0000000 0.000000 0.000000 0.0000000 [2,] 2.0770875 2.0159531 0.000000 0.000000 0.0000000 [3,] 0.3688963 1.6658982 2.299720 0.0
bd
(25k x 25k),这里是一个内容示例
> bd[1:5, 1:5]
[,1] [,2] [,3] [,4] [,5]
[1,] 1.8121698 0.0000000 0.000000 0.000000 0.0000000
[2,] 2.0770875 2.0159531 0.000000 0.000000 0.0000000
[3,] 0.3688963 1.6658982 2.299720 0.000000 0.0000000
[4,] 1.5845495 0.4880238 1.538353 1.536267 0.0000000
[5,] 1.1428052 0.7087784 1.656545 1.077034 0.4592339
变量大小为4.7GB,因此我想将其减少为一个仅包含较低三角形值的向量,以节省空间
但是,当我使用
smallbd时,这可能会有所帮助:如何创建此矩阵?你打算用它做什么?可能稀疏矩阵(来自包矩阵)是一个选项?谢谢Pascal会尝试的@罗兰:这是一个25k点之间的距离表,根据中的答案改编。@Ricky如果你使用自编函数,为什么要存储这些零?您应该学习dist
函数。请参阅:pkg:Matrix中的压缩三角形密集矩阵-“dtpMatrix”