Как установить max ppsize в R?

Я испытываю ошибку в R, которая говорит:

> Error: protect(): protection stack overflow

я узнал через googling, что мне нужно увеличить:

> --max-ppsize

R-руководство: память

Это можно установить только при запуске R так я пишу следующее в командной строке:

C:Program FilesRStudiobinrstudio.exe --max-ppsize=5000000

ошибка все равно возникает. Я запускаю набор данных 1500R x 26000C.

как мне решить эту проблема?


Edit:

проблема возникает в стандартной функции SVM (), где я передаю набор данных размером 600R x 26.000 C. Это не происходит, когда набор данных 600R x 12.000 C.

> model <- svm(TARGET ~ ., data = ds, type = "C-classification", kernel "linear", scale = TRUE, cost = c, cross = k)

3 ответов


Я нашел аналогичную проблему и что фактическая проблема была связана с расширением формул в матрицу модели. Если вы можете получить данные в этом формате без использования формул, а затем использовать перегрузку в команде svm (как и многие другие модели), которая вместо этого принимает значение X и y, ваш, вероятно, может уйти, как и мой.


мой способ исправить проблему, похожую на вашу:

  1. в командной строке cd в расположение R progranm (например C:\Program Files\R\R-3.1.3\bin\x64)
  2. в командной строке, Rgui.exe --max-ppsize=500000
  3. в новом открытом Rgui.exe, параметры ("выражения" =20000)

сделать кодирование... Нет оригинальной ошибки для меня!!


переполнение стека может быть проблемой слишком глубокой рекурсии, у вас может быть проблема с функцией, вызывающей себя рекурсивно слишком много раз, например, отсутствующее условие выхода. В этом случае нет смысла увеличивать размер стека, он все равно рано или поздно закончится.