En los procesos de tratamiento de datos de los proyectos de Data Science es habitual encontrarse con la necesidad de conectar dos herramientas. Por ejemplo, podemos encontrarnos el caso de realizar la obtención y la preparación del dato en SAS y su modelización y análisis en R. Es una opción útil sobre todo si trabajamos con altos volúmenes de datos para los que R puede tener alguna limitación al trabajar en memoria. Haciendo el tratamiento previo en SAS podemos dejar la información depurada y agregada para R.
Nos encontramos encontramos entonces con la necesidad de conectar SAS y R. Para lo cual existen diferentes opciones:
- Leer desde R las tablas SAS de entrada empleando el paquete sas7bdat: https://cran.r-project.org/web/packages/sas7bdat/sas7bdat.pdf
- Utilizar la macro %Proc_R que se puede descargar desde Proc_R.sas y permite integrar el código R en el proceso SAS
- Utilizar el SAS Java Object (SASJavaExec.jar) tal y como se explica en R y Phyton desde SAS
- Utilizar la interfaz con R de el módulo SAS/IML, tal y como se explica en interfaz IML con R en este caso insertarmos el código R en el procedimiento proc iml:
proc iml; submit / R; /* código R */ endsubmit; quit;
Seguramente existan muchas más. Yo adjunto un sencillo ejemplo, haciendo uso de la función call system de SAS que permite hacer llamadas al sistema para arrancar un script de R desde el directorio raíz donde se encuentra R en nuestra instalación. Para arrancar el script se hace uso de la utilidad Rscript propia de R.
data _null_; call system("cd C:\Program Files\R\R-3.1.2\bin"); call system("Rscript C:\temp\R\scripts\ej_exportar_fichero6.R"); run;
En lugar de un call system, podemos utilizar cualquiera de las otras formas de llamar al sistema desde SAS:
x "comandos a ejecutar"; %sysexec comandos a ejecutar;
Se han enumerado algunas de las opciones para comunicar de forma eficiente SAS y R, la formación de calidad y la experiencia nos harán encontrar otras opciones, como por ejemplo la que tenemos en la web de analisisydecision.es Modelo en R, gestión de datos en SAS
Más info y formación en B.I. especializada en:
https://www.youtube.com/@datademyformacion6610