我一直试图在windows中创建一个并行进程;doSNOW声明它生成"SOCK“类型的集群,也称为”套接字集群“;我有一个具有8个物理核和8个逻辑核的单个cpu,这是我在linux中经常使用的;我一直试图运行下面的代码,但是每当我尝试使用%dopar%选项时,它都会给我一个空结果;因此,我想知道窗口是否只与多套接字机器(我没有)并行工作。
library(jsonlite)
library(doSNOW)
library(foreach)
library(dplyr)
claves <- c("I11D67", "I11D66", "I11D65", "I11D64", "I11D63", "I11D62",
"I11D61", "I11C69", "I11D79", "I11D78", "I11D77", "I11D76", "I11D75",
"I11D74", "I11D73", "I11D72", "I11D71", "I11C79", "I12C82", "I12C81",
"I11D89", "I11D88", "I11D87", "I11D86", "I11D85")
cl <- makeCluster(8)
registerDoSNOW(cl)
foreach(i = claves, .combine=rbind, .errorhandling = "remove") %do% {
url <- sprintf("http://www.beta.inegi.org.mx/app/api/buscador/busquedaTodos/%s_A/RANKING/es", i)
ea <- fromJSON(url)
ea %>% select(TITULO, CVE_UNICA, EDICION)
} -> results
stopCluster(cl)发布于 2018-06-27 23:16:11
你的硬件没问题。是这两件事中的一件或两件事:
doParallel或类似的东西中替代。::确保您的代码符合dplyr::select而不是dplyr::select,例如MASS:select这是可行的(有一些不相关的警告):
if(!require(doParallel)) install.packages("doParallel")
library(foreach)
library(doParallel)
workers <- makeCluster(2) # start small to test
registerDoParallel(workers)
foreach(i = claves, .combine=rbind, .errorhandling = "remove") %do% {
url <- sprintf("http://www.beta.inegi.org.mx/app/api/buscador/busquedaTodos/%s_A/RANKING/es", i)
ea <- fromJSON(url)
ea %>% dplyr::select(TITULO, CVE_UNICA, EDICION)
} -> results
stopCluster(cl)
dim(results)1 50 39 results$CVE_UNICA 1 "889463489610“"702825634490”702825271480“702825637149”7028252637149 "702825267483“"889463489603”"702825213497“"702825709792”"702825277420“”70282571111“11”“70282525267476 "702825637101”702825272128“88946489597”"702825266967“”702870709327“”702825251576“”7028534582“”702825251498“”7028257054“21”7027251510“70282525251559”282825251597“28282525252870705602 "702825709327”“7028252550598”“70282525554”21“702825251510” "702825267506“"889463489627”31 "702825267490“"702825637170”"702825271497“"702825711269”"702825268114“"889463489580”"702825219352“”702825258375“"702825215590”7028258382“41 "702825215583”702825637330“702825214104”702825649418“702825649418 "702825203894”"702825003962“70282525203887”70282512617“”7025212421“”7028252537293“
请参阅此来源中的几个好示例。
https://stackoverflow.com/questions/51072333
复制相似问题