LoginRSS 2.0 Feed

Extensiones de OpenOffice para cálculo científico (II): R and Calc

Enviado el viernes, 24 de agosto de 2007 19:38

Tal como conté en la entrada anterior, dentro de poco se va a celebrar en Barcelona el OOoCon 2007, la principal conferencia de anual de OpenOffice, y echándole un vistazo al programa de la conferencia, me encontré con un par de ponencias asociadas a nuevas extensiones de OpenOffice, potencialmente útiles para el cálculo científico: Tavernalc y R and Calc. En esta entrada hablo de esta segunda extensión, la cuál he tenido el gusto de probar esta misma mañana.
La extensión R and Calc intenta integrar toda la potencia y funcionalidad de R en OpenOffice Calc. La creación de esta extensión está siendo promovida mediante el patrocinio de Google Summer Of Code, y los progresos de Wojciech Gryc (el desarrollador de la extensión) pueden ser seguidos tanto en su blog personal, como en el wiki de R and Calc.

La versión de la extensión que he probado es la 0.1.7, la cuál funciona bastante bien para no estar terminada. El primer requisito de esta extensión es (como era de esperar) tener instalado R en la misma máquina que OpenOffice, y que la versión de OpenOffice sea por lo menos la 2.1 (yo lo probé con la 2.2). La comunicación entre esta extensión de OpenOffice y R se realiza mediante TCP/IP, y por ello el segundo requisito es instalar en R la librería Rserve, que proporciona esta funcionalidad. La instalación de esta librería se puede realizar mediante el comando de R install.packages, aunque es recomendable que lo hagais como superusuario. Como esta extensión está hecha en Java, teneis que haber configurado Java en OpenOffice para que funcione. Por último, aunque OpenOffice dispone de un menú para instalar extensiones nuevas, de momento la instalación de la extensión R and Calc hay que realizarla por línea de comandos, usando el comando unopkg. Podeis encontrar las instrucciones detalladas de instalación en el wiki de R and Calc.

Una vez que habeis terminado el proceso de instalación, para usar esta extensión teneis que arrancar por un lado R, y poner en marcha el servidor Rserve, para que así pueda comunicarse OpenOffice con R. Luego, al arrancar OpenOffice y crear o abrir una hoja de cálculo vereis que teneis un nuevo menú llamado 'R Add-On'. En la versión que he probado (la 0.1.7) todavía no se puede almacenar en una celda la llamada a una función o script de R, pero al menos parte de la funcionalidad de R está disponible a través de este menú: tests ANOVA, correlaciones, regresiones lineales, análisis factorial, generación de histogramas, etc... Los cuadros de diálogo asociados a estas funcionalidades permiten especificar celdas y rangos de celdas en la hoja de cálculo, tanto para las entradas como para las salidas. Por último, también existe la posibilidad de llamar directamente a un script de R que haga referencia a las celdas de la hoja de cálculo, tanto para recuperar los datos como para recoger los resultados, pero esto último no lo he probado.

Los únicos problemillas que he encontrado con esta extensión están relacionados con el volumen de datos a intercambiar entre OpenOffice y R. Esta extensión de OpenOffice no es muy eficiente a la hora de preparar los datos a enviar a R, con lo que si intentais realizar un boxplot de una matriz de 19000 filas por 24 columnas (456000 celdas) se os puede cerrar el OpenOffice por falta de memoria o tardar dos horas o más en esa preparación de los datos (que es previa al cálculo en el lado de R). Sin embargo, para tamaños de hasta 20000 celdas el tiempo que tarda es más o menos aceptable, así que es medianamente usable.

Esta extensión tiene mucho futuro, pero aún así ya empieza a ser interesante para los usuarios "serios" de técnicas estadísticas.

Compartir:

añadir a furl añadir a del.icio.us añadir a technorati añadir a blinklist añadir a digg añadir a google añadir a stumbleupon añadir a yahoo añadir a meneame ¿Qué es?

Enviar Comentario
Titulo
 
Nombre
 
Correo electrónico
Comentario  
Por favor, escriba el código que ve a su izquierda (en mayúsculas):