Я пытался запустить параллельный цикл foreach в R, он отлично работает примерно десять итераций, но затем вылетает, показывая ошибку:
Error in { : task 7 failed - "missing value where TRUE/FALSE needed"
Calls: %dopar% -> <Anonymous>
Execution halted
Я добавляю результаты каждого цикла в файл, который показывает, что результат соответствует ожиданиям. Мой сценарий выглядит следующим образом, используя функцию combn_sub из этого поста:
LBRA <- fread(
input = "LBRA.012",
data.table = FALSE)
str_bra <- nrow(LBRA)
br1sums <- colSums(LBRA)
b1non <- which(br1sums == 0)
LBRA_trim <- LBRA[,-b1non]
library(foreach)
library(doMC)
registerDoMC(28)
foreach(X = seq(2, (nrow(LBRA)-1))) %dopar% {
com <- combn_sub(
x = nrow(LBRA),
m = X,
nset = 1000)
out_in <- matrix(
ncol = 2,
nrow = 1)
colnames(out) <- c("SNPs", "k")
for (A in seq(1, ncol(com))){
rowselect <- com[, A]
sub <- LBRA_trim[rowselect, ]
subsum <- colSums(sub)
length <- length(which(subsum != 0)) - 1
out_in <- rbind(out_in, c(length, X))
}
write.table(
file = "plateau.csv",
sep = "\t",
x = out_in,
append = TRUE)
}
%dopar%
, чтобы увидеть, на какой строке происходит сбой? Я предполагаю, что в этой строке данных есть что-то, что отличается от других строк данных, которые не учитываются. - person tblznbits   schedule 08.02.2016registerDoMC(28)
и укажите файл журнала. Так вы сможете видеть, что происходит:cluster <- makeCluster(28, outfile="MulticoreLogging.txt"); registerDoMc(cluster);
- person Mekki MacAulay   schedule 08.02.2016