Более эффективный с точки зрения памяти способ преобразования попарной корреляционной матрицы в фрейм данных - PullRequest
0 голосов
/ 08 июля 2020

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

пример матрицы:

   A B C 
A 1 .4 .6
B 0.4 1 .2
C .6 .2 1

в этот фрейм данных:

A B 0.4
A C 0.6
B C 0.2

I В настоящее время я использую этот код:

cor <- cor(mat, use = "pairwise.complete.obs", method = "spearman")
df <- data.frame(row=rownames(cor)[row(cor)], col=colnames(cor)[col(cor)], corr=c(cor))

Но до того, как мой объект cor составляет 7 ГБ, он использует слишком много памяти для обработки второй строки (я пробовал 160 ГБ, и он закончился). Спасибо за помощь!

...