如何在R中设置max ppsize?

Kas*_*sen 9 r

我在R中遇到一个错误:

> Error: protect(): protection stack overflow
Run Code Online (Sandbox Code Playgroud)

我通过谷歌搜索了解到我需要增加:

> --max-ppsize
Run Code Online (Sandbox Code Playgroud)

R-手册:内存

这只能在启动R时设置,所以我在命令提示符下写下以下内容:

C:\Program Files\RStudio\bin\rstudio.exe --max-ppsize=5000000
Run Code Online (Sandbox Code Playgroud)

错误仍然存​​在.我正在运行1500R x 26000C数据集.

我该如何解决这个问题?


编辑:

问题出现在标准的SVM()函数中,我传递的大小为600R x 26.000C的数据集.当数据集为600R x 12.00C时,不会发生这种情况.

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

小智 6

我的方法来修复类似于你的问题:

  1. 在命令行中,cd进入R程序的位置(例如C:\ Program Files\R\R-3.1.3\bin\x64)
  2. 在命令行中,Rgui.exe --max-ppsize = 500000
  3. 在新的打开Rgui.exe中,选项("表达式"= 20000)

做编码......没有原创错误给我!!

  • 这个解决方案也适用于我接受的解决方案更简单并且直接在 R studio 中工作:) (2认同)

小智 6

我发现了一个类似的问题,实际的问题与公式扩展到模型矩阵有关。如果您可以不使用公式就将数据转换为该格式,然后在svm命令中使用重载(与许多其他模型一样),而不是使用X和y值,那么您的位置可能会像我的一样消失。