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