jump to navigation

Aptana: Comunicando “Python” y “R” a Través del Paquete RPY2 Mayo 27, 2009

Posted by alatrista in Aptana, Desarrollo, IDE's, Linux, Programación, PyDev, Python, R, Software, Tutorial, Ubuntu.
add a comment
RPY2

RPY2

En estos últimos días estuve buscando la forma más adecuada de comunicar el lenguaje interpretado Python con R por motivos académicos. Encontré varias soluciones como el uso del paquete RSPhyton de R muy sencillo y fácil de entender desde el punto de vista de programación pero que me dio muchos errores de compilación así que opté por usar RPY2 otro paquete de R que a su ves esta inspirado en RSPython y nos permite también comunicar R con Python o viceversa.

Si tienes la misma intriga o sólo quieres probar como se comunican estos dos lenguajes  sigue los siguientes pasos:

Requerimientos:

Primero asegurarse que tienes instalado:

  1. El lenguaje estadístico R.
  2. El lenguaje interpretado Python versión 2.5 ó 2.6  (yo use la versión 2.6) .
  3. Aptana Studio

Nota: Aptana no es necesario para realizar la comunicación de Python con R. Aptana Studio es un IDE muy robusta que me facilita muchas tareas de programación; si lo deseas puedes usar otra IDE para probar la conexión entre tus opciones tienes: usar la consola, después de instalar Python por supuesto ( el  comando es “python”),  si necesitas algo más avanzado desde la consola puedes instalar iPython o usar editores de texto como gedit o kate incluso vim o nano para crear tus archivos .py en fin tienes muchas opciones que no detallaré aquí.

Si por desgracia no tienes alguno de los requerimientos detallados arriba puedes instalar:

  1. R siguiendo las instrucciones de este post.
  2. Para instalar Python lo puedes hacer fácilmente desde Sinaptic si usas una distribución como Ubuntu ve a Sistema -> Administración -> Gestor de Paquetes Sinaptic y busca la versión de Python que deseas instalar.
  3. Instalar Aptana Studio siguiendo las instrucciones de este otro post.

Instalación de paquetes de comunicación y plugins:

1.- Asegurate de tener la siguiente dirección APT en  /etc/apt/sources.list:

deb http://cran.cnr.berkeley.edu/bin/linux/ubuntu jaunty/

Nota: Si instalaste R siguiendo el post de instalar R ya debes de haberlo agregado.

2.-Abre la consola y ejecuta:

sudo apt-get install python-rpy

sudo apt-get install python-rpy2

Instalando - RPY2

Instalando - RPY2

Nota: Si falla por alguna razón la instación, el repositorio o usas otra distribución linux puedes hacerlo manualmente usando las instrucciones de instalación de esta página.

3.- Abre Aptana Studio y agrega el soporte para Python desde la pestaña de plugins y luego seleccionas instalar PyDev ( get it) y se instalará automáticamente.

4.- Una vez instalado PyDev crea un nuevo proyecto de Aptana en File -> Proyect -> PyDev luego coloca el nombre del proyecto y seleccionamos configurar el interprete -> auto-config.

Selecciona el Proyecto PyDev

Selecciona el Proyecto PyDev

Coloca el nombre del proyecto y selecciona configurar interprete

Coloca el nombre del proyecto y selecciona configurar interprete

Selecciona Auto-Config

Selecciona Auto-Config

Selecciona OK

Selecciona OK

5.- Para probar que Python y R se comunican copia y pega el siguiente archivo de Python en Aptana o en editor de texto y luego ejecútalo. En Aptana crea un archivo .py haciendo clic derecha sobre src luego new -> PyDev Module

—————————————————————————

import rpy2.robjects as robjects

r = robjects.r

x = robjects.IntVector(range(10))
y = r.rnorm(10)

r.X11()

r.layout(r.matrix(robjects.IntVector([1,2,3,2]), nrow=2, ncol=2))
r.plot(r.runif(10), y, xlab=”runif”, ylab=”foo/bar”, col=”red”)

raw_input(2)

—————————————————————————

Después de copiar pegar presiona Run

El Resultado es graficado una vez ejecutado

El Resultado es graficado una vez ejecutado el programa

Código

Código

Con todos estos pasos ya terminamos la instalación y todo debería estar funsionando adecuadamente. Sólo queda leer la documentación de RPY2 para esto visita esta página. Si necesitas una solución alternativa puedes usar RSPython y seguir las instrucciones de este otro post muy interesante que te indica como hacerlo.