Как вставить сюжет над foreach () l oop? - PullRequest
0 голосов
/ 09 января 2020

Можно ли добавить сюжет внутри foreach()% dopar{} l oop?

Я использую приведенный ниже код, но он не вставляет изображение, используя foreach. Он отлично работает с for-l oop.

Как он работает над foreach l oop?

{rm(list = ls())
  library(dplyr)
  library(imager)
  library(openxlsx)
  }

library(foreach)
library(doParallel)
cl <- makeCluster(4)
registerDoParallel(cl)

#for(i in 1:3){ 
foreach(i = 1:3, .combine = cbind, .packages = c("dplyr","imager","openxlsx"))%dopar% {
     file<-paste0(i,".xlsx")
     wb<-createWorkbook(file)
     addWorksheet(wb, "test", gridLines = T)
     Logo<- imager::load.image("~/YY.PNG")
     print(Logo)
     insertPlot(wb, sheet = "test", width = 2, height =1, fileType = "png", units = "in")
     saveWorkbook(wb, file, overwrite = TRUE)
  }
stopCluster(cl)

1 Ответ

0 голосов
/ 09 января 2020

Благодаря @MrFlick, ответ следующий:

library(foreach)
library(doParallel)
cl <- makeCluster(4)
registerDoParallel(cl)

foreach(i = 1:3, .combine = cbind, .packages = c("dplyr","imager","openxlsx"))%dopar% {
  file<-paste0(i,".xlsx")
  wb<-createWorkbook(file)
  addWorksheet(wb, "test", gridLines = T)
  img <- "~/YY.png"
  insertImage(wb, sheet = "test", img, width = 2, height =1, units = "in",startRow = 1, startCol = 1)
  saveWorkbook(wb, file, overwrite = TRUE)
}
stopCluster(cl)
...