Создание матрицы больших расстояний с исчерпанной ошибкой векторной памяти в R - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь построить большую матрицу обратных расстояний с 227 973 координатами. В конечном счете, я хочу использовать результаты этого в качестве входных данных матрицы пространственных весов для пространственной модели Дурбина.

Это мой код:

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?)

Я предполагаю, что проблема здесь заключается в хранении большой матрицы в оперативной памяти?

Таким образом, я попытался увеличить предел памяти, установленный R, ссылаясь на некоторые решения здесь: Ошибка: исчерпана векторная память (достигнут предел?) R 3.5.0 macOS - особенно с настройкой параметр: R_MAX_VSIZE = 16 Гб

Однако я все еще сталкиваюсь с той же ошибкой.

Кто-то предложил сначала решить подматрицы, а затем сложить их вместе в конце, чтобы получить большую матрицу: Как создать матрицу больших расстояний?

Однако я не уверен, как это сделать в коде. Я также не уверен, решит ли это проблему хранения большой матрицы в ОЗУ (при условии, что это проблема).

Кто-нибудь может посоветовать?

Вот моя система, если это полезно знать:

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

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...