Integrate SAS with the R Language

Getting started with SAS and R integration

Combine R language functions with SAS through various code libraries. These packages allow you to:

  • Load, import, and profile data using an integrated development environment (IDE) or REST APIs.
  • Cleanse, prepare, and transform your data.
  • Use functions to manage and provide governance for data assets and their relationships.

R SWAT
The SAS Scripting Wrapper for Analytics Transfer (SWAT) package is the R client to SAS Cloud Analytic Services (CAS).  It allows users to execute CAS actions and process the results all from R.

Key features: 
 •
 load and analyze data sets of any size on your desktop or in the cloud  
 •
execute workflows of CAS analytic actions
 • work with the results of the data analysis using familiar techniques in R


SAS Enterprise Miner open source integration node
The Open Source Integration node enables you to write code in the R language inside SAS Enterprise Miner.

Key features: 
 • 
use R in SAS Enterprise Miner
 • call R from SAS to use as a complimentary resource
 • build predictive models

>> Integrating R Code into SAS Enterprise Miner video tutorial


SAS/IML software and R
IML is a programming language for statistical computations, focusing on algorithms using matricies and vectors.

Key features: 
 • 
call R functions, packages, and graphics
 • create user defined functions to extend functionality
 • exchange data and matricies using built-in routines

>> Calling R Procedures from SAS/IML® Software video turtorial
>> SAS Programming for R users course materials on GitHub

Sample code

The example below shows how to use the cas.simple.summary function to get various descriptive statistics (minimum and maximum values, mean, standard deviation, etc.) about a data table using SAS Cloud Analytics Services. The sample program reads a CSV file and transfers the data to the server and computes the summary statistics.

Get Summary Statistics


library("swat")
conn = CAS("myhost.example.com", port = myPort, username = "myUserName", password = "myPassWord")
tbl = cas.read.csv(conn, file = 'https://raw.githubusercontent.com/sassoftware/sas-viya-programming/master/data/cars.csv')
out = cas.simple.summary(tbl)
out

/* The sample program prints the summary statistics to standard output: */

$Summary
        Column     Min      Max   N NMiss         Mean        Sum          Std       StdErr          Var
1         MSRP 10280.0 192465.0 428     0 32774.855140 14027638.0 19431.716674 939.26747766 3.775916e+08
2      Invoice  9875.0 173560.0 428     0 30014.700935 12846292.0 17642.117750 852.76394866 3.112443e+08
3   EngineSize     1.3      8.3 428     0     3.196729     1368.2     1.108595   0.05358595 1.228982e+00
4    Cylinders     3.0     12.0 426     2     5.807512     2474.0     1.558443   0.07550679 2.428743e+00
5   Horsepower    73.0    500.0 428     0   215.885514    92399.0    71.836032   3.47232565 5.160415e+03
6     MPG_City    10.0     60.0 428     0    20.060748     8586.0     5.238218   0.25319881 2.743892e+01
7  MPG_Highway    12.0     66.0 428     0    26.843458    11489.0     5.741201   0.27751141 3.296139e+01
8       Weight  1850.0   7190.0 428     0  3577.953271  1531364.0   758.983215  36.68683841 5.760555e+05
9    Wheelbase    89.0    144.0 428     0   108.154206    46290.0     8.311813   0.40176665 6.908624e+01
10      Length   143.0    238.0 428     0   186.362150    79763.0    14.357991   0.69401970 2.061519e+02
            USS          CSS        CV    TValue         ProbT
1  6.209854e+11 1.612316e+11 59.288490  34.89406 4.160412e-127
2  5.184789e+11 1.329013e+11 58.778256  35.19696 2.684398e-128
3  4.898540e+03 5.247754e+02 34.679034  59.65611 3.133745e-209
4  1.540000e+04 1.032216e+03 26.834946  76.91377 1.515569e-251
5  2.215110e+07 2.203497e+06 33.275059  62.17318 4.185344e-216
6  1.839580e+05 1.171642e+04 26.111777  79.22923 1.866284e-257
7  3.224790e+05 1.407451e+04 21.387709  96.72920 1.665621e-292
8  5.725125e+09 2.459757e+08 21.212776  97.52689 5.812547e-294
9  5.035958e+06 2.949982e+04  7.685150 269.19658  0.000000e+00
10 1.495283e+07 8.802687e+04  7.704349 268.52573  0.000000e+00