Скрипты на языке R

R  - это язык программирования с открытым исходным кодом и программная среда для статистического вычисления, которые поддерживаются организацией R Foundation для статистического вычисления. R - это язык интерпретации. Интерпретатор выполняет программу напрямую, переводя каждое выражение в последовательность одной или более подпрограмм, которые уже скомпилированы в машинный код.

 интерфейс скрипта

Скрипты написаны на языке R. Каждый скрипт должен содержать:

dataSetMatrixInput

dataSetMatrixOutput

где dataSetMatrixInput - это R-матрица, конвертируемая из входящей таблицы данных.

  • Все числовые типы данных SberMobile (целочисленные, двойные или длинные целочисленные) и даты конвертируются в число двойной точности R.
  • Все строчные и цветовые типы SberMobile конвертируются в символьный тип R.
  • Каждая вложенная таблица данных будет конвертироваться во вложенную R матрицу.

Во время трансформации таблицы данных в R-матрицу все названия столбцов остаются прежними. В R-матрице количество рядов и столбцов соответствует количеству записей и полей таблиц данных.

Результат выполнения должен быть передан в dataSetMatrixOutput.

Использование некоторых R-библиотек может стать причиной непредсказуемого поведения системы при выполнении скрипта.

Шаблон скрипта

Когда создается новый скрипт, он содержит автоматически сгенерированный код с двумя переменными.

dataSetMatrixInput #Input Parameters (Matrix)

 

dataSetMatrixOutput = dataSetMatrixInput #Output Parameters (Matrix)

Чтобы выполнить скрипты на языке R, ваша ОС должна иметь переменную среды "R_HOME". В ОС Windows должна быть настроена переменная "PATH", указывающая путь к выбранной версии бинарных файлов библиотеки R.

Руководство по интеграции R и linux

Следуйте данной инструкции для скачивания и установки R. Для связи между SberMobile R, необходима установка дополнительных библиотек. Используйте данную инструкцию для установки и подтовки rJava.

Для конфигурирования R перед установкой, используйте команду R CMD javareconf.

Скопируйте файл "libjri.so" из "$R_HOME/library/jri/" в директорию "lib" SberMobile Server.

Пример скрипта

Пример скрипта на языке R:

dataSetMatrixInput #Input Parameters (Matrix)

dp = double(5)

dp[1] = 1

dp[2] = 2

dp[3] = 3

dp[4] = 4

dp[5] = 5

strs = c("str1", "str2", "str3")

rMatrix = matrix(list(),nrow = 1,ncol = 2)

rMatrix[[1,1]] = dp

rMatrix[[1,2]] = strs

colnames(rMatrix) = c("numericField","characterField")

df = as.data.frame(rMatrix)

dataSetMatrixOutput = rMatrix #Output Parameters (Matrix)