mcparallelDo

mcparallelDo 软件包允许在类似 Unix 的操作系统(例如 Linux 和 MacOSX)上异步评估 R 代码。该软件包的基本原理与探索性数据分析的需求相一致,而不是编码。对于编码异步,请考虑 future 包。

创建数据

data(ToothGrowth)

触发 mcparallelDo 对 fork 进行分析

mcparallelDo({glm(len ~ supp * dose, data=ToothGrowth)},"interactionPredictorModel")

做其他事情,例如

binaryPredictorModel <- glm(len ~ supp, data=ToothGrowth)
gaussianPredictorModel <- glm(len ~ dose, data=ToothGrowth)

mcparallelDo 的结果在 targetEnvironment 中返回,例如 .GlobalEnv,当它带有消息时(默认情况下)

summary(interactionPredictorModel)

其他例子

# Example of not returning a value until we return to the top level
for (i in 1:10) {
  if (i == 1) {
    mcparallelDo({2+2}, targetValue = "output")
  }
  if (exists("output")) print(i)
}

# Example of getting a value without returning to the top level
for (i in 1:10) {
  if (i == 1) {
    mcparallelDo({2+2}, targetValue = "output")
  }
  mcparallelDoCheck()
  if (exists("output")) print(i)
}