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)
}