相关疑难解决方法(0)

mclapply随机返回NULL

当我使用mclapply时,不时(真正随机)它会给出不正确的结果.这个问题在互联网上的其他帖子中有详尽的描述,例如(http://r.789695.n4.nabble.com/Bug-in-mclapply-td4652743.html).但是,没有提供解决方案.有谁知道如何解决这个问题?谢谢!

parallel-processing r mclapply

15
推荐指数
2
解决办法
1808
查看次数

foreach()垃圾收集

我正在使用doSMP包中的嵌套foreach来根据我开发的函数生成结果.通常问题是使用三个嵌套循环,但是由于生成结果的大小(每个i大约80,000),当最终结果矩阵超过指定行数时,我不得不暂停编译并将结果写入文件.

i = 1
write.off = 1

while(i <= length(i.vector)){
        results.frame = as.data.frame(matrix(NA, ncol = 3, nrow = 1))

        while(nrow(results.frame) < 500000 & i <= length(i.vector)){
                results = foreach(j = 1:length(j.vector), .combine = "rbind", .inorder = TRUE) %:%
                foreach(k = 1:length(k.vector), .combine = "rbind", .inorder = TRUE) %dopar%{

                        ith.value = i.vector[i]
                        jth.value = j.vector[j]
                        kth.value = k.vector[k]
                        my.function(ith.value, jth.value, kth.value)
                }

                results.frame = rbind(results.frame, results)
                i = i + 1
        }

        results.frame = results.frame[-1,]
        write.table(results.frame, paste("part_",write.off, sep = ""))
        write.off …
Run Code Online (Sandbox Code Playgroud)

parallel-processing garbage-collection r

6
推荐指数
1
解决办法
1609
查看次数