簡體   English   中英

Rcaller簡單代碼-加載Runiversal時出錯

[英]Rcaller simple code - Error loading Runiversal

我有使用Rcaller的以下Java代碼。

RCaller caller = new RCaller();
RCode code = new RCode();

caller.setRscriptExecutable("/usr/bin/Rscript");

code.addRCode("install.packages(\"bbmle\")");
caller.redirectROutputToConsole();
caller.runOnly();

本質上,我試圖運行安裝R包的Java代碼(因為稍后我將在需要此包的Java中運行R代碼)。

運行此代碼時,我將在Java中獲得以下輸出

Error:Loading required package: Runiversal

但是,我的Mac上確實有Runiversal軟件包。 任何想法這意味着什么,為什么我實際上看不到install.packages方法的任何R輸出,通常這很冗長?


更新:我應該注意,即使是諸如以下的簡單代碼也會導致相同的錯誤:

code.addRCode("x = c(1,2,3)");
code.addRCode("y = c(2,3,5");
code.addRCode("x+y");
caller.redirectROutputToConsole();
caller.runOnly();

更新:我還應該提到以下功能很好:

StringBuffer allCode = readFile("temp.R");
code.setCode(allCode);

double[] xvector = new double[]{1,3,5,3,2,4,5,6,7,8,9,21,22,25,27,25,34,39,31};
double[] yvector = new double[]{6,7,5,6,5,6,6,7,6,8,9,21,20,19,23,24,29,38,30};
code.addDoubleArray("X",xvector);
code.addDoubleArray("Y",yvector);

code.addRCode("fun(X,Y)");

溫度R:

fun = function(x,y) {
    return(lm(y~x))
}

Java輸出:

Output:
Output:Call:
Output:lm(formula = y ~ x)
Output:
Output:Coefficients:
Output:(Intercept)            x  
Output:      2.445        0.825  
Output:

R從庫中加載包。 如果在Java下啟動的R進程未搜索安裝Runiversal軟件包的庫,則可能會導致顯示錯誤消息。

因此:Runiversal軟件包的安裝目錄路徑(即庫)是什么? 與此相關的可能是什么用戶安裝了R軟件包,以及什么用戶正在運行Java代碼。

RCaller庫的2.2版本不需要R包Runiversal。 該包中實現了R到XML轉換器的緊湊版本。 在這里嘗試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM