2016-06-21 10 views
3

parallelパッケージは、返品されない印刷をparSapplyおよびparLapplyで抑制します。この効果を回避することは可能ですか?印刷抑制 - パラレルパッケージを削除する方法

ノーマル(期待される動作で)

sapply(iris, function(x) { 
    print("x") 
    message("message") 
    warning("warning") 
    return(x[2]) 
}) 
# [1] "x" 
# message 
# [1] "x" 
# message 
# [1] "x" 
# message 
# [1] "x" 
# message 
# [1] "x" 
# message 
# Sepal.Length Sepal.Width Petal.Length Petal.Width  Species 
#   4.9   3.0   1.4   0.2   1.0 
# Warning messages: 
# 1: In FUN(X[[i]], ...) : warning 
# 2: In FUN(X[[i]], ...) : warning 
# 3: In FUN(X[[i]], ...) : warning 
# 4: In FUN(X[[i]], ...) : warning 
# 5: In FUN(X[[i]], ...) : warning 

並列プロセス(予想外の抑制)

library(parallel) 
cl <- makeCluster(3) 
parSapply(cl, iris, function(x) { 
    print("x") 
    message("message") 
    warning("warning") 
    return(x[2]) 
}) 
# Sepal.Length Sepal.Width Petal.Length Petal.Width  Species 
#   4.9   3.0   1.4   0.2   1.0 

#Run after 
stopCluster(cl) 

答えて

関連する問題