RCaller: тот же код работает в rstudio, а не в rcaller

Я использую RCaller для вызова R из Java-программ. Компьютер, на котором я пытаюсь вызвать R с помощью RCaller, не может получить доступ к Интернету; Теперь у меня есть такая ситуация: из Java я пишу мне код R и, используя RCode, я добавляю этот код в R; сгенерированный код это:

packageExist<-require(Runiversal)
if(!packageExist){
  install.packages("Runiversal", repos=" http://cran.r-project.org")
}

source("/tmp/liveness/helper.R")
source("/tmp/liveness/model-nbd.R")
source("/tmp/liveness/model-pareto-nbd.R")
source("/tmp/liveness/model-bg-nbd.R")
source("/tmp/liveness/model-cbg-cnbd-k.R")
cdData <- read.table("/tmp/liveness/data.csv", head=T)
names(cdData)[2] <- "x";
bgMleFit <- bgEstimateParameters(cdData, list(r=1, alpha=2, a=1, b=2));
summary(bgMleFit);
cdBgParams <- as.list(coef(bgMleFit));
t <- 2;
cdBgCe <- bgConditionalForecast(cdData, cdBgParams, t);
cat(makexml(obj=cdBgCe, name="cdBgCe"), file="/tmp/Routput7266683884330110613")

Выполняя этот код в Java-программе, я получаю исключение при попытке проанализировать XML-файл, потому что сгенерированный XML-файл пуст. Если я скопирую сгенерированный код и вставлю его в RStudio, все работает довольно хорошо

Есть ли у вас какие-либо предложения для решения этой проблемы?

2 ответа

Способ, которым я решил это: (я использую 64-битную версию R), поэтому в коде я просто изменил строку: caller.setRscriptExecutable("C:/Program Files/R/R-3.0.1/bin/Rscript"); в следующую строку: caller.setRscriptExecutable ("C: / Program Files / R / R-3.0.1 / bin / x64 / Rscript.exe");

(обратите внимание, что я использую RCaller-2.0.7.jar в качестве источника). это прилагается

Новая версия этой библиотеки немного быстрее, не требует пакета R Runiversal и некоторые ошибки были исправлены. Попробуйте здесь

Другие вопросы по тегам