我有一个简单的分析要做。我只需要计算列(或行,如果转置)的相关性。够简单吗?我无法获得整周的结果,我已经浏览了这里的大部分解决方案。
我的笔记本电脑有 4GB RAM。我确实可以访问具有 32 个节点的服务器。我的数据无法在此处加载,因为它很大(411k 列和 100 行)。如果您需要任何其他信息或数据的一部分,我可以尝试将其放在这里,但是无需真正查看数据即可轻松解释问题。我只需要得到一个大小为 411k X 411k 的相关矩阵,这意味着我需要计算数据行之间的相关性。
我尝试编写的概念:(所有这些都以某种方式给我带来了内存问题或永远运行)
- 最简单的方法,一行反对所有,使用 append.T 写出结果。(永远运行)
- biCorPar.r by bobthecat ( https://gist.github.com/bobthecat/5024079 ),将数据分成块并使用 ff 矩阵。(无法在我的服务器中使用 ff() 分配内存来分配 corMAT 矩阵)
- 将数据拆分为集合(每 10000 个连续行将是一个集合)并将每个集合与另一个集合进行相关(与 bigcorPar 相同的逻辑),但我无法找到一种方法将它们最终存储在一起以生成最终的 411kX411k 矩阵.
- 我现在正在尝试这个,bigcorPar.r 在 10000 行上针对 411k(所以 10000 被分成块)并将结果保存在单独的 csv 文件中。
- 我还尝试在我的服务器的一个节点中运行每 1000 对 411k,今天是我的第三天,我仍然在第 71 行。
我不是 R 专业人士,所以我只能尝试这么多。要么我的代码永远运行,要么我没有足够的内存来存储结果。有没有更有效的方法来解决这个问题?
感谢您的所有评论和帮助。