首页 > 解决方案 > 大向量 R 的差分矩阵

问题描述

我有一个大向量(长度:250k)并且想要计算每个元素与所有其他元素的差异。

我在较小尺寸上完成它的一种方法是:

n = 1000
set.seed(35)
values = sample(1:1e3, n, replace=T)
mat_temp = matrix(values, n, n, byrow=TRUE) - matrix(values, n, n, byrow=FALSE)
mat_temp = abs(mat_temp)

这并不理想,因为我只需要对角线的下部(或绝对差异)。

主要问题是:如何有效地为完整的 250k*250k ( n = 250000) 矩阵运行它?使用 16GB RAM,这可能吗?尝试过bigmemory,但无法初始化大矩阵。

有没有办法(我只需要差异)?

标签: rmatrix

解决方案


推荐阅读