0

我正在尝试将 Rcaller 与简单的示例代码一起使用,如下所示

 public class rcaller {

    public static void main(String[] args) {

        RCaller caller = RCaller.create();
        RCode code = RCode.create();

        double[] arr = new double[] { 1.0, 2.0, 3.0 };
        code.addDoubleArray("myarr", arr);
        code.addRCode("avg <- mean(myarr)");
        
        caller.setRCode(code);
        caller.runAndReturnResult("avg");
        double[] result = caller.getParser().getAsDoubleArray("avg");
        System.out.println(result[0]);
    }

}

我在 runAndReturnResult 行收到以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in opaque part at index 2: C:\Users\uceesro\AppData\Local\Temp\ROutput11009463111314803062
    at java.base/java.net.URI.create(URI.java:906)
    at com.github.rcaller.rstuff.RCode.appendStandardCodeToAppend(RCode.java:109)
    at com.github.rcaller.rstuff.RCaller.runAndReturnResult(RCaller.java:576)
    at rcaller.rcaller.main(rcaller.java:21)
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\uceesro\AppData\Local\Temp\ROutput11009463111314803062
    at java.base/java.net.URI$Parser.fail(URI.java:2938)
    at java.base/java.net.URI$Parser.checkChars(URI.java:3109)
    at java.base/java.net.URI$Parser.parse(URI.java:3145)
    at java.base/java.net.URI.<init>(URI.java:623)

我尝试过使用不同版本的 R,但遇到了同样的问题。任何帮助,将不胜感激。

4

2 回答 2

1

“发现问题似乎是 rcaller 4.0.0 的问题”——是的,这个问题确实存在于 Windows 上(并且在开发和 CI 测试期间没有发现)。请尝试 4.0.1

于 2021-08-26T13:39:05.997 回答
0

发现问题似乎是 rcaller 4.0.0 和 3.0 的问题,它工作正常

于 2021-08-25T17:10:24.953 回答