[英]Rsolnp in Java using Renjin
我正在嘗試從Java程序運行solnp。 為了測試它是否有效,我試圖僅運行benchmarkids()
函數。 但是我無法解決對包的引用。 我已經在http://packages.renjin.org/package/org.renjin.cran/Rsolnp/中檢查了Rsolnp軟件包,據我所知它可以在renjin中加載。
我添加了Maven所需的軟件包:
<dependency>
<groupId>org.renjin.cran</groupId>
<artifactId>Rsolnp</artifactId>
<version>1.16-b28</version>
</dependency>
我嘗試將包直接添加到我的項目中(我正在使用Eclipse Neon),但仍然無法正常工作。
我得到的錯誤:
org.renjin.eval.EvalException: Could not load package rsolnp; tried org.renjin.bioconductor:rsolnp, org.renjin.cran:rsolnp
at org.renjin.primitives.packaging.NamespaceRegistry.getNamespace(NamespaceRegistry.java:160)
at org.renjin.primitives.packaging.NamespaceRegistry.getNamespace(NamespaceRegistry.java:115)
at org.renjin.primitives.packaging.Packages.library(Packages.java:41)
at org.renjin.primitives.R$primitive$library.doApply(R$primitive$library.java:73)
at org.renjin.primitives.R$primitive$library.apply(R$primitive$library.java:34)
at org.renjin.primitives.special.InternalFunction.apply(InternalFunction.java:45)
at org.renjin.eval.Context.evaluateCall(Context.java:302)
at org.renjin.eval.Context.evaluate(Context.java:222)
at org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:38)
at org.renjin.eval.Context.evaluateCall(Context.java:302)
at org.renjin.eval.Context.evaluate(Context.java:222)
at org.renjin.eval.Context.evaluate(Context.java:163)
at org.renjin.sexp.Closure.doApply(Closure.java:83)
at org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:73)
at org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:58)
at org.renjin.sexp.Closure.apply(Closure.java:78)
at org.renjin.eval.Context.evaluateCall(Context.java:302)
at org.renjin.eval.Context.evaluate(Context.java:222)
at org.renjin.eval.Context.evaluateExpressionVector(Context.java:285)
at org.renjin.eval.Context.evaluate(Context.java:220)
at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:168)
at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:127)
at test.java.RsolnpTest.testRsolnp(RsolnpTest.java:55)
最后,我嘗試調用的代碼:
import javax.script.*;
import org.renjin.script.*;
// some other tests to see if 10 * 2 in R works.
public void testRsolnp()
{
RenjinScriptEngineFactory factory = new RenjinScriptEngineFactory();
ScriptEngine engine = factory.getScriptEngine();
try
{
engine.eval("library(rsolnp); benchmarkids();");
}
catch (ScriptException e)
{
e.printStackTrace();
}
// testing code.
}
R中的程序包名稱區分大小寫。 試試: engine.eval("library(Rsolnp); benchmarkids();");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.