在R中创建具有矢量存储耗尽错误的大距离矩阵

时间:2019-06-19 16:08:27

标签: r matrix ram

我正在尝试构建一个具有227,973坐标的大型反距离矩阵。最终,我希望将其结果用作输入到空间durbin模型的空间权重矩阵。

这是我的代码:

dist_matrix <- as.matrix(dist(cbind(full_df$Longitude,full_df$Latitude)))
  dist_matrix_inv <- 1/dist_matrix
  diag(dist_matrix_inv) <- 0
  ilw <- mat2listw(dist_matrix_inv, style="W")

但是,我在代码的第一行收到此错误:

Error: vector memory exhausted (limit reached?)

我假设这里的问题在于将大矩阵存储在RAM中?

因此,我尝试增加R所设置的内存限制,请参考此处的一些解决方案:Error: vector memory exhausted (limit reached?) R 3.5.0 macOS-尤其是设置参数:R_MAX_VSIZE = 16Gb

但是,我仍然遇到相同的错误。

有人建议先求解子矩阵,然后最后将它们拼接在一起,以在此处获得大矩阵:How to create a Large Distance Matrix?

但是,我不确定如何在代码中执行此操作。我也不确定这是否可以解决在RAM中存储大矩阵的问题(假设这是问题所在)。

有人可以建议吗?

这是我的系统,如果这对您有所帮助:

R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.5

谢谢!

0 个答案:

没有答案