JRI — проверка типа возвращаемого значения из R-скрипта

Я использую JRI и вызываю сценарий R из Java. Скрипт 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.

Я также просмотрел следующую публикацию, но не смог понять фактическое решение вышеуказанного запроса - вызов-r-из-java-используя-jri-как-преобразовать-возвращаемое-значение

С уважением, ~Milind


person user2940063    schedule 10.12.2013    source источник