Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能超越“我的”吗;类型:EXEC";及;类型:完成“;在R中使用doSNOW和foreach时的输出?_R_Logging_Parallel Processing_Parallel Foreach_Snow - Fatal编程技术网

你能超越“我的”吗;类型:EXEC";及;类型:完成“;在R中使用doSNOW和foreach时的输出?

你能超越“我的”吗;类型:EXEC";及;类型:完成“;在R中使用doSNOW和foreach时的输出?,r,logging,parallel-processing,parallel-foreach,snow,R,Logging,Parallel Processing,Parallel Foreach,Snow,我正在使用doSnow和foreach并行发送一组消息,但它们使我的日志变得杂乱无章,难以解析。下面是一个简单的例子: library(foreach) library(doSNOW) numbers <- 1:6 cool_print <- function(x) print(paste0(x, " is cool")) cl <- makeCluster(2, outfile="") # "" passes me

我正在使用doSnow和foreach并行发送一组消息,但它们使我的日志变得杂乱无章,难以解析。下面是一个简单的例子:

library(foreach)
library(doSNOW)

numbers <- 1:6
cool_print <- function(x) print(paste0(x, " is cool"))
cl <- makeCluster(2, outfile="") # "" passes messages to standard out 
registerDoSNOW(cl)
sns_responses <-
    foreach(
      x        = numbers
      ) %dopar% {
        cool_print(x)
      }
 stopCluster(cl)
我只想让它打印所有“很酷”的语句

你能做到吗?我是否可以在雪地里的某个地方设置一个选项,允许打印,但不允许打印其他东西?

请参阅我的评论,了解为什么使用
outfile=“”
很可能不是一个解决方案-这更像是一种无法真正工作的黑客行为

下面是一个使用框架(免责声明:我是作者)的解决方案,该框架尽可能接近您的示例,同时将工人产生的输出传递到主R流程:

库(foreach)
图书馆(未来)
注册基金()

cl这似乎不可能-消息是由
snow
package().Oof中的函数无条件打印的。好啊感谢insight@CountorLook,这并不是说它在这里有什么不同,但是如果您没有使用“snow”软件包的具体原因,我建议您改为使用“parallel”软件包。在R 2.14.0中,“snow”包基本上被合并到了“parallel”中,“snow”现在或多或少被认为是“弃用”的。我将尝试一下!
Type: EXEC 
Type: EXEC 
Type: EXEC 
Type: EXEC 
[1] "1 is cool"
[1] "2 is cool"
Type: EXEC 
[1] "3 is cool"
Type: EXEC 
[1] "4 is cool"
Type: EXEC 
[1] "5 is cool"
Type: EXEC 
[1] "6 is cool"
>  stopCluster(cl)
Type: DONE 
Type: DONE