R Gateway via RServe for InterSystems IRIS Data Platform. Author Shiao-Bin Soong: email, github profile.
ML Toolkit user group is a private GitHub repository set up as part of InterSystems corporate GitHub organization. It is addressed to the external users that are installing, learning or are already using ML Toolkit components. To join ML Toolkit user group, please send a short e-mail at the following address: MLToolkit@intersystems.com and indicate in your e-mail the following details (needed for the group members to get to know and identify you during discussions):
- GitHub username
- Full Name (your first name followed by your last name in Latin script)
- Organization (you are working for, or you study at, or your home office)
- Position (your actual position in your organization, or “Student”, or “Independent”)
- Country (you are based in)
- Install and start Rserve:
- Install a recent version of R.
- Install Rserve package from a R terminal:
install.packages("Rserve",,"http://rforge.net")
- Launch Rserve from a R terminal:
library(Rserve)
Rserve()
-
Load and Compile IRIS R package (i.e.
do $system.OBJ.ImportDir("C:\InterSystems\Repos\R\","*.cls","c",,1)
). -
The following ObjectScript code illustrates the simple integration with Rserve:
Set c = ##class(R.RConnection).%New() // Create a R client
Set x = ##class(R.REXPDouble).%New(3.0) // A single double value
Do c.assign("x", x) // Assign the value to R variable x
Do c.eval("y<-sqrt(x)") // Evaluate R script
Set y = c.get("y") // Get the value of R variable y
Write y.toJSON().%ToJSON()
It is advised to wrap all ObjectScript code in a try catch block. More test cases and usages can be found in class R.Test
.
- A demo case is in
R.Demo
package.
- Import data from csv file
pima-diabetes.csv
to classR.Demo.Pima
. - Run
Do ##class(R.Demo.Pima).LogReg()
. This will use pima dataset to train and save a logistic regression model. - Run
Do ##class(R.Demo.Pima).ScoreDataset()
. This will score the pima dataset using the previously saved model and save the results to the table.
- Check test production for InterOperability examples.