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