foreach 및 doMC를 사용하면 병렬로 실행할 때 cat
및/또는 message
을 화면에 인쇄 할 수 있습니까? 예를 들면 다음과 같습니다 doMC의 백엔드와 foreach 문을 사용하는 경우 리디렉션되지 않으므로 출력이 표시되어야하는 근로자 표준 출력다중 코어로 로그 인쇄
> library(foreach)
>
> tmp <- foreach(i=1:3) %do%
+ cat("sqrt(i) =", sqrt(i), "\n")
sqrt(i) = 1
sqrt(i) = 1.414214
sqrt(i) = 1.732051
>
> tmp <- foreach(i=1:3) %do%
+ message("i^2 =", i^2, "\n")
i^2 =1
i^2 =4
i^2 =9
>
> library(doMC)
> registerDoMC(2)
>
> tmp <- foreach(i=1:3) %dopar%
+ cat("sqrt(i) =", sqrt(i), "\n")
>
> tmp <- foreach(i=1:3) %dopar%
+ message("i^2 =", i^2, "\n")
>
> sessionInfo()
R Under development (unstable) (2014-01-29 r64898)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] parallel stats graphics grDevices utils datasets
[7] methods base
other attached packages:
[1] doMC_1.3.2 iterators_1.0.6 foreach_1.4.1
loaded via a namespace (and not attached):
[1] codetools_0.2-8 compiler_3.1.0 tools_3.1.0
감사합니다,
최대 기본적으로
이 솔루션은 Mac OS X 10.10.5에서 실행되는 R 3.2.2 (2015-08-14)와 더 이상 작동하지 않는 것으로 보입니다. –
@CraigW'x <- mclapply (1 : 3, message, mc.cores = 3)'을 실행할 때 출력을 보시겠습니까? "터미널"에서 표준 R 인터프리터를 실행하고 있습니까? –
나는 그것을 되 찾는다. R.app GUI 또는 RStudio에서가 아니라 터미널에서 R을 실행할 때 출력을 표시합니다. 이러한 환경에서이 솔루션을 작동시킬 수있는 방법이 있습니까? –