3

我正在使用 JRI 并从 Java 调用 R 脚本。R 脚本返回一个整数。以下是我如何调用 R 脚本 -

REXP result = rengine.eval("source(\"" + [script name with path] + "\")");

REXP retVal = rengine.eval(getReturnVariable());

以下是 R 脚本中的相关代码 -

retVal<-sum(num1, num2)

return(as.integer(retVal))

调用 Java 代码应该能够调用任何 R 脚本。该脚本可能会返回各种数据类型,因此我需要查看返回类型以提取结果。

在调用 Java 程序中,当我检查“retVal”时,我看到有以下 2 个属性 -

  1. rtype - 设置为 13 (INTSXP)
  2. Xt - 由 gettype() 返回 - 设置为 32 (XT_ARRAY_INT)

我的问题是 - 调用程序应该查看上述哪种类型?

此外,任何指向 R 和 Java 数据类型之间任何映射的指针都会有所帮助。

我还查看了以下帖子,但无法理解上述查询的实际解决方案 - call-r-from-java-using-jri-how-to-cast-return-value

问候,〜米林德

4

0 回答 0