Cómo leer datos de Excel en r
Si le preguntas a los usuarios de R cuál es la mejor forma de hacerlo es importar datos directamente desde Microsoft Excel, la mayoría de ellos probablemente contestar que su mejor opción es la primera exportación de Excel a un archivo CSV y luego utilice read.csv () para importar sus datos a R.
De hecho, este sigue siendo el asesoramiento en el capítulo 8 del manual R importación y exportación, que dice: " El primer consejo es evitar hacerlo si es posible "! La razón es que muchos de los métodos existentes para la importación de datos desde Excel dependen de software de terceros o bibliotecas que pueden ser difíciles de configurar, no está disponible en todos los sistemas operativos, o tal vez tienen términos de licencia restrictivos.
Sin embargo, desde Febrero 2011 existe una nueva alternativa: usar el paquete XLConnect, disponible de CRAN. Lo que hace XLConnect diferente es que utiliza una biblioteca de Java para leer y escribir archivos de Excel. Esto tiene dos ventajas:
Se ejecuta en todos los sistemas operativos compatibles con Java. XLConnect está escrito en Java y se ejecuta en la ventana, Linux y Mac OS.
No hay nada más en cargar. XLConnect no requiere ningún otro bibliotecas o software. Si tiene instalado Java, debería funcionar.
XLConnect También puede escribir archivos de Excel, incluyendo el cambio de formato de células, tanto en Excel 97-2003 y Excel 2007/10 formatos.
Para saber más sobre XLConnect, puede leer el excelente viñeta paquete.
Por ahora te estás ansioso por empezar con un ejemplo. Suponga que desea leer una hoja de cálculo de Excel en su directorio de usuario llamado Elements.xlsx. En primer lugar, instalar y cargar el paquete- a continuación, crear un objeto con el nombre de archivo:
> Install.packages ("XLConnect")> biblioteca ("XLConnect")> excel.file lt; - file.path ("~ / Elements.xlsx")
Ahora está listo para leer una hoja de este libro con el readWorksheetFromFile () función. Tiene que pasar por lo menos dos argumentos:
archivo: Una cadena de caracteres con una ruta a una válida .xls o .xlsx archivo
hoja: Cualquiera de un número entero que indica la posición de la hoja de cálculo (por ejemplo, hoja = 1) O el nombre de la hoja de cálculo (por ejemplo, hoja = "Hoja2")
Las dos líneas siguientes hacen exactamente lo mismo - que tanto importan los datos de la primera hoja de trabajo (llamados Hoja1):
> Elementos lt; - readWorksheetFromFile (excel.file, hoja = 1)> Elementos lt; - readWorksheetFromFile (excel.file, hoja = "Sheet1")