Запуск сценария R из Java - исключение Rconnection eval - PullRequest
0 голосов
/ 18 мая 2018

Как я могу решить эту проблему?Я попытался очистить кэш, переустановить R и Rscript.

connection = new RConnection();

String path = "source('" + rScript.getFile().getAbsolutePath() + "')";

connection.eval(path);

// ошибка в этой строке org.rosuda.REngine.Rserve.RserveException: ошибка eval

В исходном файле у меня есть этот код

functionName <- function(param1, param2, ...,  paramN){
  #some code here
}

Если я удаляю functionName <- function (param1, param2, ..., paramN) {определение части - это работает. </p>

Такжев журнале консоли R появилось это сообщение об ошибке:

Ошибка: длинные векторы еще не поддерживаются: qap_encode.c: 36 Неустранимая ошибка: невозможно инициализировать JIT

1 Ответ

0 голосов
/ 31 мая 2018

У вас все еще есть эта проблема?

У меня точно такая же проблема, которая

Error: long vectors not supported yet: qap_encode.c:36 Fatal error: unable to initialize the JIT

В настоящее время я использую macbook (HighSierra) и Rверсии 3.5.0 и java 1.8.0.151.

Как решить эту проблему, так это узнать, какая версия Rserve установлена ​​на вашем компьютере.Чтобы проверить версию Rserve, перейдите в Rstudio и введите:

packageVersion("Rserve")

, и возвращаемое значение покажет вам версию «Rserve».

Если возвращаемое значение равно 1.7.3, тогдаЯ думаю, что именно здесь начинается ошибка.

Если версия Rserve 1.7.3, попробуйте обновить версию Rserve.

install.packages("Rserve", "Rserve_1.8-6.tgz", "http://www.rforge.net/")

Эта инструкция также адресованаВеб-сайт «Rforge»: http://www.rforge.net/Rserve/files/. Когда вы нажимаете эту ссылку и прокручиваете вниз до «Содержимое репозитория», оно написано мелким шрифтом со словами «пожалуйста, используйте бла-бла-бла».Вот откуда происходит "install.packages (" Rserve, ....) ".

Я знаю, что только немногие (по крайней мере, в онлайн-мире) сталкивались или сталкивались с этой проблемой, и я потратил 2дней на решение этой проблемы.

Надеюсь, это поможет вам.

ps. packageVersion () может отличаться в зависимости от используемой вами ОС.

...