sábado, 15 de junio de 2013

Importar datos de Excel en una línea

Para muchos usuarios de R, sobre todo en las primeras etapas de aprendizaje del entorno, una de las partes más duras es el manejo de los datos.

Muchos usuarios, por no decir todos, hemos utilizado Excel habitualmente para introducir los datos de nuestra investigación o estudio. A menudo es la forma más cómoda y fácil de introducir datos, y hacer los primeros cálculos, además de ser un entorno que casi todo el mundo conoce. Los usuarios acostumbrados a interfaces gráficas, a menudo descartan utilizar R por las dificultades que se encuentran en los primeros pasos de sus análisis (la creación de los conjuntos de datos).

La forma recomendada para importar datos de Excel a R, es guardar estos datos en un fichero CSV, y posteriormente importarlos desde R con el comando read.csv o read.csv2. Este procedimiento es válido para cualquier otro formato en el que tengamos los datos (SAS, SPSS, MINITAB, ...)

Par la importación directa de ficheros Excel en R, existen varias alternativas. El paquete RODBC permite hacerlo en Windows y Mac. El paquete gdata tiene una función específica (read.xls) pero es necesario tener instalado python. Esto implica que estas soluciones pueden funcionar en unos ordenadores pero no en otros.

Una alternativa es utilizar el paquete XLConnect. Está concebido para manipular ficheros excel desde R, con multitud de opciones. Pero también es posible utilizarlo para leer los datos de un fichero y guardarlos en un dataframe para utilizarlos en un solo paso en R. El comando:

data2<-readWorksheetFromFile("example1.xlsx",sheet=1)

Crea el dataset data2 con los datos de la primera hoja de cálculo del fichero example1.xlsx, en un solo paso y sin más complicación que tener el fichero excel en el directorio de trabajo (o escribir la ruta completa del mismo).

El único requisito es tener Java instalado, que está presente en todos los entornos. El paquete ha sido desarrollado por Mirai Solutions, y está disponible en CRAN.