我一直在尝试开发使用Java内置函数的R代码,但我的.jcall错误。
可以在此处找到使用Java构建的代码:Getting incorrect Score using SentiWordNet
我设法创建了.class和.jar文件。 在cmd窗口中,我可以检查我的函数是否返回double类型的对象。
我在R中运行的代码如下:
.jinit(".")
.jaddClassPath("D:\\Users\\cristina.cerqueira\\Documents\\R\\win-library\\3.0\\SWN3\\SWN3.jar")
.jaddClassPath("C:\\Program Files\\Java\\jdk1.7.0_55\\lib\\SWN3.jar")
.jclassPath()
.jinit(".")
c <- .jnew("SWN3")
jSWR3 <-function(s) {
result= .jcall("Ljava/lang/String", returnSig = "D", method=c, as.character(s),
evalArray = TRUE, check = TRUE, evalString = TRUE,
.jcast( rJava:::.rJava.class.loader,"java/lang/ClassLoader" ) )
}
s <- c("love","v")
jSWR3(s)
错误如下:
Error in .jcall("Ljava/lang/String", returnSig = "D", method = c, as.character(s), :
RcallMethod: cannot determine object class
非常感谢任何帮助!