foreach
.combine
要读取的文件夹的任务
Rds
文件和
rbind
将它们合二为一:
all_dfs <- foreach(j = list.files(pattern = ".Rds"),
.errorhandling = "pass",
.combine = rbind,
.multicombine = TRUE) %dopar% {eachRdsFile <- readRDS(j)}
并获取错误:
调用合并函数时出错:rbind中的simpleError(deparse.level,
…):列表参数无效:所有变量应具有相同的长度
length
,它们都是一样的(82):
for (j in list.files(pattern = ".Rds")) {
eachRdsFile <- readRDS(j)
print(length(eachRdsFile))}
这个
弗雷奇
library(parallel)
library(doMC)
mycores <- 8
registerDoMC(cores = mycores)
testdfs <- foreach(j = 1:206,.errorhandling = "pass",.combine = rbind,.multicombine = TRUE) %dopar% {
eachdf <- data.frame(A = runif(10), B = runif(10))}
但它很好用。我跑了
弗雷奇
对于1:152,然后加载文件153和
rbound
Foreach
在文件153:206上运行良好(206是最后一个文件)。55:206很好(152个文件)。54:206失败(153个文件)。因此,问题可能在于
rbinding
打猎
&燃气轮机=任何物体都可以,很明显。
编辑:再次感谢Florian Priv对解决问题的帮助。这个问题与我使用电脑有关
writeLines
和
sink
print
(或
progress bars
writeLines(c(""), "log.txt")
all_dfs <- foreach(...){
sink("log.txt", append = TRUE)
当我输出到list时,发现问题出在sink stack full错误上:
多亏了你,我终于把它修好了
dmi3kno's answer
,然后继续使用
结合
接近时没有错误。