【发布时间】:2014-05-05 13:45:54
【问题描述】:
我正在尝试将 R 中 row.names 的两个大型矩阵与 merge 合并,但这需要相当长的时间。是否有可能并行化 merge 方法?也许以某种方式使用foreach 库?或者也许有更快的解决方案可以完成这项工作?
我有 8 个内核和 24 GB 的 RAM。这两个矩阵大约为 1.4 Gb,由约 900 行和约 22000 列组成。
这里是重现我的数据集的一个小例子的代码:
df1 <- data.frame(x = 1:3, y = 1:3, row.names = c('r1', 'r2', 'r3'))
df2 <- data.frame(z = 5:7, row.names = c('r1', 'r3', 'r7'))
dfMerged <- merge(df1, df2, by = "row.names", all = TRUE)
dfMerged[is.na(dfMerged)] <- 0
【问题讨论】:
-
不完全是你要找的东西,但
data.table可能会更快一些(相对于data.frame。
标签: r merge parallel-processing parallel-foreach