r - R 在 parLapply 中使用变量
问题描述
我在parLapply
.
我的代码如下所示:
Druckfaktor <- 1.3
no_cores <- detectCores()-1
cl <- makeCluster(no_cores)
S <- parLapply(cl,m.list,function(x) {
s <- diag(x[2:4])
s[1,2] <- s[2,1] <- x[5]
s[2,3] <- s[3,2] <- x[6]
s[3,1] <- s[1,3] <- x[7]
VD <- eigen(s)
V <- VD$vectors
D <- VD$values
D[D<0] <- D[D<0]/Druckfaktor
s <- V %*% diag(D) %*% t(V)
c(x[1],s[1,1],s[2,2],s[3,3],s[1,2],s[2,3],s[3,1])
})
stopCluster(cl)code here
不幸的是,该功能的答案是:
Error in checkForRemoteErrors(val) : 11 nodes produced errors; first error: Objekt 'Druckfaktor' nicht gefunden
我怎样才能将这个“Druckfaktor”与 一起使用parLapply
?
谢谢
解决方案
你必须使用clusterExport
:
clusterExport(cl = NULL, varlist, envir = .GlobalEnv)
clusterExport 将 varlist 中命名的变量的主 R 进程上的值分配给每个节点的全局环境(又名“工作空间”)中的同名变量。从中导出变量的 master 上的环境默认为全局环境。
在你的情况下:
Druckfaktor <- 1.3
no_cores <- detectCores()-1
cl <- makeCluster(no_cores)
clusterExport(cl, c("Druckfaktor"))
[...]
推荐阅读
- reactjs - 反应路由 - 当我使用 history.push 传递 URL 时,URL 中的 id 参数未定义
- c++ - aarch64 g++:__asm 中的 MOV 仅移动 64 位值的低 32 位
- mongoose - 用于 MongoError 的 NestJS 异常过滤器返回 UnhandledPromiseRejectionWarning
- sql - 执行作业时 SQL 配置文件名称错误
- javascript - 创建 ReactJS 应用程序时出现错误消息
- python - 为什么我的多元 LSTM 不断预测零?
- node.js - 如何使用 sequelize(sqlite) 作为数据库在 nodejs(express) 中创建删除方法
- qt - QML中如何分离Repeater的设计和逻辑
- java - 尝试调用虚拟方法 'void androidx.appcompat.widget.ShareActionProvider.setShareIntent(android.content.Intent)
- python-2.7 - kafka-python:使用 0 vs inf secs 超时关闭 kafka 生产者