将结果写入foreach循环R中的文件

将结果写入foreach循环R中的文件,r,foreach,R,Foreach,我正在使用带有%dopar%的foreach包来实现一组模拟。此简单版本说明了模拟的结构: library(foreach) library(doMC) registerDoMC(4) id.list <- c(1:3000) results <- foreach(i=1:1000,.combine=rbind) %dopar% { ## Randomly draw 100 donor pool units and 1 treated unit v1 <

我正在使用带有%dopar%的foreach包来实现一组模拟。此简单版本说明了模拟的结构:

library(foreach)
library(doMC)
registerDoMC(4) 

id.list <- c(1:3000)

results <- foreach(i=1:1000,.combine=rbind) %dopar% {

    ## Randomly draw 100 donor pool units and 1 treated unit
    v1 <- sample(id.list, 1, replace = FALSE)  
    v2 <- sample(id.list, 1, replace = FALSE)
    v3 <- sample(id.list, 1, replace = FALSE)
    v4 <- sample(id.list, 1, replace = FALSE)

    c(i,v1,v2,v3,v4)
}
库(foreach)
图书馆(doMC)
寄存器DOMC(4)

id.list比方说,不是1000次尝试,而是10000次尝试,我会像这样分解它,使用part_num来区分大小为500的块

library(foreach)
library(doMC)
registerDoMC(4) 

id.list <- c(1:3000)

for(part_num in 1:20){
  results <- foreach(i=1:500,.combine=rbind) %dopar% {
    ## Randomly draw 100 donor pool units and 1 treated unit
    v1 <- sample(id.list, 1, replace = FALSE)  
    v2 <- sample(id.list, 1, replace = FALSE)
    v3 <- sample(id.list, 1, replace = FALSE)
    v4 <- sample(id.list, 1, replace = FALSE)
    c(i,v1,v2,v3,v4)
  }

  write.csv(results, file = paste('part', part_num, '.csv', sep = ''))
}
库(foreach)
图书馆(doMC)
寄存器DOMC(4)
身份证列表