r - 在R中乘以2个非常大的数据帧
问题描述
我在 R 中有 2 个数据框,如下所示
数据框 1
structure(list(X1 = c(1, 4, 3), X2 = c(2, 1, 2), X3 = c(3, 1,
1)), class = "data.frame", row.names = c(NA, -3L))
数据框 2
structure(list(X1 = c(0.5, 0.1), X2 = c(0.7, 0.2), X3 = c(0.3,
0.2)), class = "data.frame", row.names = c(NA, -2L))
我想将 DF1 的每一行与 DF2 的每一行相乘,并执行如下计算。这是一种矩阵乘法以及额外的计算
- 矩阵乘法后,我将计算
1/(1+exp(-x))
结果矩阵中的每个单元格 - 最后,取矩阵的列和
上面的数据集只是一个虚拟集。实际上,DF1 有 110 万行,而 DF2 有 65000 行。在进行矩阵乘法时,出现错误
cannot allocate vector of Size 560 GB
有没有其他选择。另外,由于数据框很大,我正在寻找时间有效的解决方案。可能是数据表?
谢谢,