- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里问了一个相关的问题,回复效果很好:using parallel's parLapply: unable to access variables within parallel code
问题是当我尝试在函数内部使用答案时它不起作用,因为我认为它必须在 clusterExport
的默认环境中.我已经阅读了小插图并查看了帮助文件,但我的知识基础非常有限。我使用的方式 parLapply
我希望它的行为类似于 lapply
但它似乎没有。
这是我的尝试:
par.test <- function(text.var, gc.rate=10){
ntv <- length(text.var)
require(parallel)
pos <- function(i) {
paste(sapply(strsplit(tolower(i), " "), nchar), collapse=" | ")
}
cl <- makeCluster(mc <- getOption("cl.cores", 4))
clusterExport(cl=cl, varlist=c("text.var", "ntv", "gc.rate", "pos"))
parLapply(cl, seq_len(ntv), function(i) {
x <- pos(text.var[i])
if (i%%gc.rate==0) gc()
return(x)
}
)
}
par.test(rep("I like cake and ice cream so much!", 20))
#gives this error message
> par.test(rep("I like cake and ice cream so much!", 20))
Error in get(name, envir = envir) : object 'text.var' not found
最佳答案
默认 clusterExport
看起来在.GlobalEnv
用于在 varlist
中命名的要导出的对象.如果您的对象不在 .GlobalEnv
中,你必须告诉clusterExport
它可以在哪个环境中找到这些对象。
您可以更改您的 clusterExport
到以下(我没有测试,但你说在评论中有效)
clusterExport(cl=cl, varlist=c("text.var", "ntv", "gc.rate", "pos"), envir=environment())
关于r - 在函数内使用 parLapply 和 clusterExport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023403/
我写了一个函数,我在其中定义变量和加载对象。这是一个简化版本: fn1 <- function(x) { load("data.RData") # a vector named "data"
我是使用并行包的新手,并已开始探索它们以加快我的一些工作。我经常遇到的一个烦恼是 foreach当我没有时,命令会抛出问题 clusterExport相关的函数/变量。 例子 我知道下面的例子不一定需
我在这里问了一个相关的问题,回复效果很好:using parallel's parLapply: unable to access variables within parallel code 问题是
我是一名优秀的程序员,十分优秀!