R 如何在Windows下使用doMC或glmnet的替代并行处理实现?

R 如何在Windows下使用doMC或glmnet的替代并行处理实现?,r,foreach,parallel-processing,domc,R,Foreach,Parallel Processing,Domc,我使用的是Win7操作系统,Rstudio中的R3.3.1。目的是将glmnet与并行处理结合使用。从?glmnet帮助: parallel:如果TRUE,请使用parallel foreach来安装每个折叠。必须 先注册并行,如doMC或其他。见 下面的例子 参考示例: # Parallel require(doMC) registerDoMC(cores=4) install.packages('doMC')返回的包不可用。手动检查提供可下载的UNIX代码,但Windows二进制文件不可用

我使用的是Win7操作系统,Rstudio中的R3.3.1。目的是将
glmnet
与并行处理结合使用。从
?glmnet
帮助:

parallel
:如果
TRUE
,请使用parallel foreach来安装每个折叠。必须 先注册并行,如
doMC
或其他。见 下面的例子

参考示例:

# Parallel
require(doMC)
registerDoMC(cores=4)
install.packages('doMC')
返回的包不可用。手动检查提供可下载的UNIX代码,但Windows二进制文件不可用


我仍然可以在Win7操作系统下像使用代码一样使用
doMC
吗?或者什么是有用的替代方法?

doMC
vignette中所述

doMC包充当foreach和 并行软件包的多核功能,最初由 Simon Urbanek和合并到R2.14.0的并行程序中。这个 多核功能目前仅适用于操作系统 支持fork系统调用(这意味着Windows不是 支持)

您可以尝试使用
snow
软件包和
SOCK
集群。(Thx@HongOoi提示不需要加载
doSNOW


你真的不需要多斯诺来制造雪团;并行程序包(与R一起提供)和doParallel也将处理雪簇。@由于并行程序包中的限制,HongOoi doSNOW比doParallel具有某些优势。例如,doSNOW支持进度条和动态调用combine函数。一条注释,我需要加载
库(snow)
。对我来说,我必须确保安装了snow,但不需要使用
load(snow)
library(doParallel)

#the following line will create a local 4-node snow cluster
workers=makeCluster(4,type="SOCK")
registerDoParallel(workers)

foreach(i=1:4) %dopar% Sys.getpid()