【发布时间】:2017-10-30 13:10:42
【问题描述】:
我使用 rJava 从 R 调用 java 代码,试图从 SPMF 工具调用算法。我尝试使用this question 中的包装函数,但这不适用于SPMF 代码。
这是我的 R 代码:
library(rJava)
.jinit()
.jaddClassPath ( "C:/mydrive/eclipse-workspace/myfile/src")
print(.jclassPath())
obj <- .jnew("AlgoFPGrowth_Strings")
s <- .jcall(obj, returnSig= "V", method="runAlgorithm",
"input.csv","output.txt") , 0.4 )
它给了我错误,方法 runAlgorithm with signature (D)V not found
这是java中的主要内容:
public static void main(String[] args) throws Exception {
AlgoFPGrowth_Strings fpwindow=new AlgoFPGrowth_Strings();
String input="input.csv";
String output="output.txt";
double minsupp = 0.4;
fpwindow.runAlgorithm( input, output, minsupp);
fpwindow.printStats();
}
我尝试将 returnSig 值更改为 S 和 Ljava/lang/String;但是我遇到了同样的错误,找不到方法
当我用简单的方法将代码应用到不同的java代码上时,有什么想法可以改变我的代码吗?
【问题讨论】:
-
Java 库的用户有一个为某些算法提供 R 接口的示例github.com/pommedeterresautee/spmf
-
感谢您的回复,我已经从这个工具中提取了一个算法并单独使用它,我相信问题出在 returnSig 但我无法修复它。有什么想法吗?