«Ошибка: использование стека C слишком близко к пределу» при использовании рекурсивной функции R в Knime - PullRequest
0 голосов
/ 21 мая 2019

У меня есть следующий код в фрагменте R в Knime.

ngrams <- as.list(knime.in$Ngram)

calc <- function(e, l){
    if(length(l) == 0){
        return(e)
    }
    else if (grepl(e, l[1], fixed=TRUE)){
        return(l[1])
    }
    else {
        return(calc(e, (tail(l, -1))))
    }
}

reduced_ngrams <- lapply(ngrams, calc, l=ngrams)


knime.out <- as.data.frame(unlist(reduced_ngrams))

Однако в Knime были ошибки в «Eval Script», когда во входном фрагменте R более 100 строк. Вот ошибка:

Error: C stack usage is too close to the limit

Код работает и отлично работает в RStudio.

...