Привет, я хотел бы создать именованный список с помощью пакета doSNOW/foreach. Например, конечным продуктом будет объект списка. dfe, названный из вектора, скажем,
n=c("n1","n2","n3","n4","n5")
так что я могу получить доступ к списку объектов списка, таких как dfe[["n1"]]$a
, где a является элементом в списке.
Вот пример того, о чем я говорю.
mainStart <- Sys.time()
n=c("n1","n2","n3","n4","n5")
cores=detectCores()
cl <- parallel::makeCluster(cores[1]-1) #not to overload your computer
registerDoSNOW(cl)
## setup progress bar
pb <- txtProgressBar(max = 5, style = 3)
progress <- function(n) setTxtProgressBar(pb, n)
opts <- list(progress = progress)
dfe <- foreach(id.this = n, .combine = list, .options.snow = opts) %dopar% {
list ( a=c(1,2,3), b = c(1,2,3))
}
endTime <- Sys.time()
endTime -mainStart
close(pb)
stopCluster(cl)
Так что было бы здорово, если бы список, созданный в цикле foreach, мог иметь имя и доступ после цикла. Так что dfe[["n1"]]$a может дать мне вектор 1,2,3.
if ( id.this == "n2"){Sys.sleep(10)}
заказ был сохранен, спасибо. - person Ahdee   schedule 25.07.2018