Importar funciones desde XML

Importar funciones desde XML

Una de las funcionalidades que creemos que tiene mayor prioridad es la posibilidad de importar/añadir nuevas funciones de una forma sencilla y genérica, que nos permita con unos pocos parámetros cargar cualquier función de R, e incluso cargar nuestras propias funciones locales.

Una función básica como la media aritmética tiene la siguiente estructura:

mean(x, trim = 0, na.rm = FALSE, …)

Por lo que, se plantea la posibilidad de usar XML para cargar las funciones, pudiendo así añadirle más información, como por ejemplo los parámetros opcionales, el tipo de datos, etc.

Para este caso el fichero XML podría tener la siguiente estructura:

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<functions>
<function>
<name>mean</name>
<title>Mean</title>
<description>Generic function for the (trimmed) arithmetic mean.</description>
<menu>Unidimensional</menu>
<category>Basics</category>
<arguments>
<argument>
<value>x</value>
<optional>0</optional>
<type>object</type>
<default>NONE</default>
<about>An R object.  Currently there are methods for numeric/logical vectors and date, date-time and time interval objects. Complex vectors are allowed for ‘trim = 0’, only.</about>
</argument>
<argument>
<value>trim</value>
<optional>1</optional>
<type>numeric</type>
<default>0</default>
<about>the fraction (0 to 0.5) of observations to be trimmed from each end of ‘x’ before the mean is computed.  Values of trim outside that range are taken as the nearest endpoint.</about>
</argument>
<argument>
<value>na.rm</value>
<optional>1</optional>
<type>boolean</type>
<default>FALSE</default>
<about>a logical value indicating whether ‘NA’ values should be stripped before the computation proceeds.</about>
</argument>
</arguments>
</function>
</functions>

De esta forma sería sencillo, también, hacer un editor de funciones que nos permita generar estos ficheros XML.

Presentación usada durante la fase final del Concurso

Esta es la presentación que usamos durante la presentación del proyecto R-squared durante la fase final del Concurso Universitario de Software Libre en la Universidad de La Laguna.

Vídeo de la versión 0.2

Vídeo con algunas de las funcionalidades de la nueva versión 0.2 alfa de R-squared

Segunda versión alfa

Ya tenemos disponible la versión 0.2 (alfa) de R-squared-project.

Hay que realizar los siguiente pasos para instalarlo:

  • apt-get install r-base

Ejecutar R en la consola y escribir:

  • install.packages(“RInside”)
  • install.packages(“R2HTML”)

Finalmente instalamos el paquete:

  • dpkg -i r-squared_0.2-1_amd64.deb

Tareas pendientes

En el wiki del repositorio hemos creado una sección con las tareas pendientes, y que iremos actualizando a medida que vayan surgiendo.

https://gitorious.org/r-squared/pages/Tareas%20pendientes

Ahora mismo son las siguientes:

Tareas pendientes

  • Lista de modelos lineales
    • Almacenar cada modelo lineal en una nueva variable
    • Mostrar todos los modelos lineales creados
      • Se puede usar ls() para listar todas las variables
      • Comprobar si variable$call es distinto de NULL y empieza por “lm”
  • Añadir Box-Cox para calcular las posibles transformaciones
    • Se necesita cargar library(MASS)
    • boxcox(variable_lm)
    • Añadir la posibilidad de nuevas tranformaciones no estándares
      • Por ejemplo: variable^1.45

Primera versión alfa empaquetada

Aquí ponemos una primera versión alfa del programa empaquetado para 64-bits:

Hay que realizar los siguiente pasos para instalarlo:

  • apt-get install r-base
  • dpkg -i r-squared_0.1-1_amd64.deb

Ejecutar R en la consola y escribir:

  • install.packages(c(“Rcpp”,”RInside”))
  • install.packages(“R2HTML”, dependencies=TRUE)

 

Vídeo demostración

A continuación publicamos un vídeo demostración con las primeras funcionalidades de R-squared-project

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.