RCaller:在rstudio中工作的相同代码不在rcaller中

时间:2013-07-12 08:57:42

标签: java r rcaller

我正在使用RCaller来从java程序中调用R. 我试图通过RCaller呼叫R的电脑无法访问互联网;现在我有这种情况: 从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 个答案:

答案 0 :(得分:1)

我解决它的方式:(我使用的是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作为源代码)。它是附加的

答案 1 :(得分:0)

这个库的新版本要快一点,不需要R包Runiversal并且修复了一些错误。试一试Here