Nota: Debido a dificultades con el encoding los caracteres no se muestran correctamente por lo que en el presente trabajo no se utilizan acentos.
Introduccion
El proposito del paquete de “XLSX” para R va mas alla de un simple paquete de lectura de archivos Excel, para eso ya se encuentran disponibles varios paquetes. XLSX es un paquete creado especificamente para ser usado con archivos Excel 2007 desde R, sus funciones van mas alla de la simple visualizacion de arhivos de Excel 2007, ya que tambien permite, como veremos mas adelante, la manipulacion e incluso creacion de archivos xlsx.
Es importante hacer notar que el paquete en cuestion utiliza la libreria Java del Proyecto Apache POI el cual es un proyecto de la Apache Software Foundation. Es importante esto ya que esta fundacion se encarga de la creacion y administracion de APIs que operen con el lenguaje de programacion Java para documentos de Microsoft.
API (Application Programing Interface)
Para entender mejor la utilidad del paquete XLSX, y ya que su uso es muy comun hoy en dia, es necesario entender que es una API. A grandes rasgos y de manera simple una Application Programing Interface o API es una interfaz que funciona como una conexion entre un programa y otro programa, en este caso el paquete XSLX funciona como la conexion entre un archivo de Excel xlsx y R.
A manera de ejemplo, una API es como un mesero, cuando vamos a comer, tu le das la orden al mesero, el mesero entrega esa orden en la cocina y la cocina te da la respuesta (tu comida) de regreso con el mesero. De esta manera tu le das la orden a R por medio del paquete y el paquete a traves de Excel te da una respuesta. Para mayor informacion respecto a que es una API puedes dar click aqui.
Como usar el paquete XLSX
Despues de que hemos visto el proposito del paquete XLSX es momento de aprender como podemos usar este paquete. Primero hay que recordar que para usar paquetes en R hay que cargarlos primero en R como se muestra a continuacion.
library(xlsx)
Una ves que hemos cargado el paquete en R podemos comenzar a trabajar. Para esto utilizaremos archivos con los que trabajamos en clase.
Para visualizar un archivo de Excel 2007 basta con el comando read.xlsx de la siguiente manera:
library(xlsx)
read.xlsx("bloodpress.xlsx", sheetName = "systolic")
Como comentamos anteriormente el paquete nos permite hacer mucho mas que solo visualizar los archivos. Podemos incluso crear nuestros propios archivos de excel desde R mediante el comando write.xlsx. Hay que tomar en cuenta que hay que tener datos para poder ejecutar esta accion. A continuacion un ejemplo:
library(xlsx)
x <- seq(0,5)
write.xlsx (x, file= "ejemplo.xlsx", sheetName = "Hoja1", row.names = FALSE)
read.xlsx("ejemplo.xlsx", sheetName = "Hoja1")
Una vez que hemos cubierto lo basico es importante hacer notar que podemos no solo crear hojas sino tambien libros con el comando workbook.
Comandos
Dentro del paquete hay varios comandos para poder crear, manipular y visualizar archivos de Excel 2007. Algunos ya los hemos mencionado por lo que ahora enlistaremos algunos mas:
1. cell= para manipular celdas.
2.othereffects= para varios efectos en las hojas como, por ejemplo, fusionar, autoajustar, crear paneles, zoom, etc.
3.printsetup= para modificar los ajustes para impresion.
4.cellstyle= para modificar el formato de la celda.
Asi como se encuentran estos comandos entre los principales el usuario encontrara mas al momento de estar usando el paquete XLSX.
Conclusion
El paquete de XLSX para R es bastante util para aquellos que se vean en la necesidad de tener que usar archivos de Excel 2007 ya que en muchas ocasiones no todos manejan R y hay que trabajar con otro tipo de pogramas como es el caso de Excel. El paquete nos ayuda a poder traer estos archivos de Excel y poder trabajarlos en R. Aunque en el curso de mi investigacion no encontre un solo foro o autor que prefiera usar Excel cuando tiene a la mano R siempre es bueno saber que se puede contar con este tipo de paquetes y contar con que R lo puede manejar sin inconvenientes.
Bibliografia
Manual del paquete de XLSX
Package XLSX https://cran.r-project.org/web/packages/xlsx/xlsx.pdf
What is an API https://www.youtube.com/watch?v=s7wmiS2mSXY
Markdown RStudio http://rmarkdown.rstudio.com/r_notebook_format.html
Archivo bloodpress.xlsx visto en clase de Metodos Cuantitativos aplicados a la Administracion impartida por el Dr. Carlos Rodriguez Contreras
R Development Core Team: R: A Language and Environment for Statistical Computing, R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org
Brian Ripley and from 1999 to Oct 2002 Michael Lapsley (2009). RODBC: ODBC Database Access. R package version 1.3-1. http://CRAN.R-project.org/package=RODBC
Hans-Peter Suter, Treetron and Switzerland (2006). xlsReadWrite: Natively read and write Excel files. http: //treetron.googlepages.com/
Erich Neuwirth, with contributions by Richard Heiberger, Christian Ritter, Jan Karel Pieterse and and Jurgen Volkering (2009). RExcelInstaller: Integration of R and Excel, (use R in Excel, read/write XLS files). R package version 3.0-18. http://CRAN.R-project.org/package=RExcelInstaller
Duncan Temple Lang (2009). RExcelXML: Read and manipulate new-style (O ce 07) Excel files. http://www. omegahat.org/RExcelXML/
Simon Urbanek (2009). rJava: Low-level R to Java interface. R package version 0.8-1. http://CRAN.R-project. org/package=rJava
LS0tCnRpdGxlOiA8Y2VudGVyPiAgIFBhcXVldGUgWExTWCBlbiBSCm91dHB1dDogaHRtbF9ub3RlYm9vawphdXRob3I6IDxjZW50ZXI+TWlzYWVsIE1hcnRpbmV6IFJlZG9uZGEKLS0tCgogKk5vdGE6IERlYmlkbyBhIGRpZmljdWx0YWRlcyBjb24gZWwgZW5jb2RpbmcgbG9zIGNhcmFjdGVyZXMgbm8gc2UgbXVlc3RyYW4gY29ycmVjdGFtZW50ZSBwb3IgbG8gcXVlIGVuIGVsIHByZXNlbnRlIHRyYWJham8gbm8gc2UgdXRpbGl6YW4gYWNlbnRvcy4qCiAKIyMjIEludHJvZHVjY2lvbgoKCgpFbCBwcm9wb3NpdG8gZGVsIHBhcXVldGUgZGUgIlhMU1giIHBhcmEgUiB2YSBtYXMgYWxsYSBkZSB1biBzaW1wbGUgcGFxdWV0ZSBkZSBsZWN0dXJhIGRlIGFyY2hpdm9zIEV4Y2VsLCBwYXJhIGVzbyB5YSBzZSBlbmN1ZW50cmFuIGRpc3BvbmlibGVzIHZhcmlvcyBwYXF1ZXRlcy4gWExTWCBlcyB1biBwYXF1ZXRlIGNyZWFkbyBlc3BlY2lmaWNhbWVudGUgcGFyYSBzZXIgIHVzYWRvIGNvbiBhcmNoaXZvcyBFeGNlbCAyMDA3IGRlc2RlIFIsIHN1cyBmdW5jaW9uZXMgdmFuIG1hcyBhbGxhIGRlIGxhIHNpbXBsZSB2aXN1YWxpemFjaW9uIGRlIGFyaGl2b3MgZGUgRXhjZWwgMjAwNywgeWEgcXVlIHRhbWJpZW4gcGVybWl0ZSwgY29tbyB2ZXJlbW9zIG1hcyBhZGVsYW50ZSwgbGEgbWFuaXB1bGFjaW9uIGUgaW5jbHVzbyBjcmVhY2lvbiBkZSBhcmNoaXZvcyB4bHN4LgoKRXMgaW1wb3J0YW50ZSBoYWNlciBub3RhciBxdWUgZWwgcGFxdWV0ZSBlbiBjdWVzdGlvbiB1dGlsaXphIGxhIGxpYnJlcmlhIEphdmEgZGVsIFByb3llY3RvIEFwYWNoZSBQT0kgZWwgY3VhbCBlcyB1biBwcm95ZWN0byBkZSBsYSBbKkFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uKl0oaHR0cDovL3BvaS5hcGFjaGUub3JnLykuIEVzIGltcG9ydGFudGUgZXN0byB5YSBxdWUgZXN0YSBmdW5kYWNpb24gc2UgZW5jYXJnYSBkZSBsYSBjcmVhY2lvbiB5IGFkbWluaXN0cmFjaW9uIGRlICoqQVBJcyoqIHF1ZSBvcGVyZW4gY29uIGVsIGxlbmd1YWplIGRlIHByb2dyYW1hY2lvbiBKYXZhIHBhcmEgZG9jdW1lbnRvcyBkZSBNaWNyb3NvZnQuCgoKCiMjIyMjIEFQSSAoKkFwcGxpY2F0aW9uIFByb2dyYW1pbmcgSW50ZXJmYWNlKikKCgoKUGFyYSBlbnRlbmRlciBtZWpvciBsYSB1dGlsaWRhZCBkZWwgcGFxdWV0ZSBYTFNYLCB5IHlhIHF1ZSBzdSB1c28gZXMgbXV5IGNvbXVuIGhveSBlbiBkaWEsIGVzIG5lY2VzYXJpbyBlbnRlbmRlciBxdWUgZXMgdW5hIEFQSS4gQSBncmFuZGVzIHJhc2dvcyB5IGRlIG1hbmVyYSBzaW1wbGUgdW5hICpBcHBsaWNhdGlvbiBQcm9ncmFtaW5nIEludGVyZmFjZSogbyBBUEkgZXMgdW5hIGludGVyZmF6IHF1ZSBmdW5jaW9uYSBjb21vIHVuYSBjb25leGlvbiBlbnRyZSB1biBwcm9ncmFtYSB5IG90cm8gcHJvZ3JhbWEsIGVuIGVzdGUgY2FzbyBlbCBwYXF1ZXRlIFhTTFggZnVuY2lvbmEgY29tbyBsYSBjb25leGlvbiBlbnRyZSB1biBhcmNoaXZvIGRlIEV4Y2VsIHhsc3ggeSBSLiAKCkEgbWFuZXJhIGRlIGVqZW1wbG8sIHVuYSBBUEkgZXMgY29tbyB1biBtZXNlcm8sIGN1YW5kbyB2YW1vcyBhIGNvbWVyLCB0dSBsZSBkYXMgbGEgb3JkZW4gYWwgbWVzZXJvLCBlbCBtZXNlcm8gZW50cmVnYSBlc2Egb3JkZW4gZW4gbGEgY29jaW5hIHkgbGEgY29jaW5hIHRlIGRhIGxhIHJlc3B1ZXN0YSAodHUgY29taWRhKSBkZSByZWdyZXNvIGNvbiBlbCBtZXNlcm8uCkRlIGVzdGEgbWFuZXJhIHR1IGxlIGRhcyBsYSBvcmRlbiBhIFIgcG9yIG1lZGlvIGRlbCBwYXF1ZXRlIHkgZWwgcGFxdWV0ZSBhIHRyYXZlcyBkZSBFeGNlbCB0ZSBkYSB1bmEgcmVzcHVlc3RhLiBQYXJhIG1heW9yIGluZm9ybWFjaW9uIHJlc3BlY3RvIGEgcXVlIGVzIHVuYSBBUEkgcHVlZGVzIGRhciBjbGljayBbKiphcXVpKipdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9czd3bWlTMm1TWFkpLgoKCgojIyMgQ29tbyB1c2FyIGVsIHBhcXVldGUgWExTWAoKCgpEZXNwdWVzIGRlIHF1ZSBoZW1vcyB2aXN0byBlbCBwcm9wb3NpdG8gZGVsIHBhcXVldGUgWExTWCBlcyBtb21lbnRvIGRlIGFwcmVuZGVyIGNvbW8gcG9kZW1vcyB1c2FyIGVzdGUgcGFxdWV0ZS4gUHJpbWVybyBoYXkgcXVlIHJlY29yZGFyIHF1ZSBwYXJhIHVzYXIgcGFxdWV0ZXMgZW4gUiBoYXkgcXVlIGNhcmdhcmxvcyBwcmltZXJvIGVuIFIgY29tbyBzZSBtdWVzdHJhIGEgY29udGludWFjaW9uLgoKCmBgYHtyLCBtZXNzYWdlPUZBTFNFfQpsaWJyYXJ5KHhsc3gpCmBgYAoKPGNlbnRlcj4gVW5hIHZlcyBxdWUgaGVtb3MgY2FyZ2FkbyBlbCBwYXF1ZXRlIGVuIFIgcG9kZW1vcyBjb21lbnphciBhIHRyYWJhamFyLiBQYXJhIGVzdG8gdXRpbGl6YXJlbW9zIGFyY2hpdm9zIGNvbiBsb3MgcXVlIHRyYWJhamFtb3MgZW4gY2xhc2UuCgpQYXJhIHZpc3VhbGl6YXIgdW4gYXJjaGl2byBkZSBFeGNlbCAyMDA3IGJhc3RhIGNvbiBlbCBjb21hbmRvICpyZWFkLnhsc3gqIGRlIGxhIHNpZ3VpZW50ZSBtYW5lcmE6PC9jZW50ZXI+CmBgYHtyfQpsaWJyYXJ5KHhsc3gpCnJlYWQueGxzeCgiYmxvb2RwcmVzcy54bHN4Iiwgc2hlZXROYW1lID0gInN5c3RvbGljIikKYGBgCgoKPGNlbnRlcj4gQ29tbyBjb21lbnRhbW9zIGFudGVyaW9ybWVudGUgZWwgcGFxdWV0ZSBub3MgcGVybWl0ZSBoYWNlciBtdWNobyBtYXMgcXVlIHNvbG8gdmlzdWFsaXphciBsb3MgYXJjaGl2b3MuIFBvZGVtb3MgaW5jbHVzbyBjcmVhciBudWVzdHJvcyBwcm9waW9zIGFyY2hpdm9zIGRlIGV4Y2VsIGRlc2RlIFIgbWVkaWFudGUgZWwgY29tYW5kbyAqd3JpdGUueGxzeCouIEhheSBxdWUgdG9tYXIgZW4gY3VlbnRhIHF1ZSBoYXkgcXVlIHRlbmVyIGRhdG9zIHBhcmEgcG9kZXIgZWplY3V0YXIgZXN0YSBhY2Npb24uCkEgY29udGludWFjaW9uIHVuIGVqZW1wbG86CjwvY2VudGVyPgpgYGB7ciwgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpsaWJyYXJ5KHhsc3gpCnggPC0gc2VxKDAsNSkKd3JpdGUueGxzeCAoeCwgZmlsZT0gImVqZW1wbG8ueGxzeCIsIHNoZWV0TmFtZSA9ICJIb2phMSIsIHJvdy5uYW1lcyA9IEZBTFNFKQoKcmVhZC54bHN4KCJlamVtcGxvLnhsc3giLCBzaGVldE5hbWUgPSAiSG9qYTEiKQpgYGAKCgoKPGNlbnRlcj4gVW5hIHZleiBxdWUgaGVtb3MgY3ViaWVydG8gbG8gYmFzaWNvIGVzIGltcG9ydGFudGUgaGFjZXIgbm90YXIgcXVlIHBvZGVtb3Mgbm8gc29sbyBjcmVhciBob2phcyBzaW5vIHRhbWJpZW4gbGlicm9zIGNvbiBlbCBjb21hbmRvICp3b3JrYm9vayouIDwvY2VudGVyPgoKIyMjIENvbWFuZG9zCgpEZW50cm8gZGVsIHBhcXVldGUgaGF5IHZhcmlvcyBjb21hbmRvcyBwYXJhIHBvZGVyIGNyZWFyLCBtYW5pcHVsYXIgeSB2aXN1YWxpemFyIGFyY2hpdm9zIGRlIEV4Y2VsIDIwMDcuIEFsZ3Vub3MgeWEgbG9zIGhlbW9zIG1lbmNpb25hZG8gcG9yIGxvIHF1ZSBhaG9yYSBlbmxpc3RhcmVtb3MgYWxndW5vcyBtYXM6Cgo8YXV0b2FkanVzdD4KMS4gKipjZWxsKio9IHBhcmEgbWFuaXB1bGFyIGNlbGRhcy4KCjIuKipvdGhlcmVmZmVjdHMqKj0gcGFyYSB2YXJpb3MgZWZlY3RvcyBlbiBsYXMgaG9qYXMgY29tbywgcG9yIGVqZW1wbG8sIGZ1c2lvbmFyLCBhdXRvYWp1c3RhciwgY3JlYXIgcGFuZWxlcywgem9vbSwgZXRjLgoKMy4qKnByaW50c2V0dXAqKj0gcGFyYSBtb2RpZmljYXIgbG9zIGFqdXN0ZXMgcGFyYSBpbXByZXNpb24uCgo0LioqY2VsbHN0eWxlKio9IHBhcmEgbW9kaWZpY2FyIGVsIGZvcm1hdG8gZGUgbGEgY2VsZGEuCgo8L2F1dG9hZGp1c3Q+CgpBc2kgY29tbyBzZSBlbmN1ZW50cmFuIGVzdG9zIGNvbWFuZG9zIGVudHJlIGxvcyBwcmluY2lwYWxlcyBlbCB1c3VhcmlvIGVuY29udHJhcmEgbWFzIGFsIG1vbWVudG8gZGUgZXN0YXIgdXNhbmRvIGVsIHBhcXVldGUgWExTWC4KCiMjIyBDb25jbHVzaW9uCgpFbCBwYXF1ZXRlIGRlIFhMU1ggcGFyYSBSIGVzIGJhc3RhbnRlIHV0aWwgcGFyYSBhcXVlbGxvcyBxdWUgc2UgdmVhbiBlbiBsYSBuZWNlc2lkYWQgZGUgdGVuZXIgcXVlIHVzYXIgYXJjaGl2b3MgZGUgRXhjZWwgMjAwNyB5YSBxdWUgZW4gbXVjaGFzIG9jYXNpb25lcyBubyB0b2RvcyBtYW5lamFuIFIgeSBoYXkgcXVlIHRyYWJhamFyIGNvbiBvdHJvIHRpcG8gZGUgcG9ncmFtYXMgY29tbyBlcyBlbCBjYXNvIGRlIEV4Y2VsLiBFbCBwYXF1ZXRlIG5vcyBheXVkYSBhIHBvZGVyIHRyYWVyIGVzdG9zIGFyY2hpdm9zIGRlIEV4Y2VsIHkgcG9kZXIgdHJhYmFqYXJsb3MgZW4gUi4gQXVucXVlIGVuIGVsIGN1cnNvIGRlIG1pIGludmVzdGlnYWNpb24gbm8gZW5jb250cmUgdW4gc29sbyBmb3JvIG8gYXV0b3IgcXVlIHByZWZpZXJhIHVzYXIgRXhjZWwgY3VhbmRvIHRpZW5lIGEgbGEgbWFubyBSIHNpZW1wcmUgZXMgYnVlbm8gc2FiZXIgcXVlIHNlIHB1ZWRlIGNvbnRhciBjb24gZXN0ZSB0aXBvIGRlIHBhcXVldGVzIHkgY29udGFyIGNvbiBxdWUgUiBsbyBwdWVkZSBtYW5lamFyIHNpbiBpbmNvbnZlbmllbnRlcy4KCiMjIyBCaWJsaW9ncmFmaWEKCk1hbnVhbCBkZWwgcGFxdWV0ZSBkZSBYTFNYCgpQYWNrYWdlIFhMU1ggaHR0cHM6Ly9jcmFuLnItcHJvamVjdC5vcmcvd2ViL3BhY2thZ2VzL3hsc3gveGxzeC5wZGYgCgpXaGF0IGlzIGFuIEFQSSBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXM3d21pUzJtU1hZCgpNYXJrZG93biBSU3R1ZGlvIGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20vcl9ub3RlYm9va19mb3JtYXQuaHRtbAoKQXJjaGl2byBibG9vZHByZXNzLnhsc3ggdmlzdG8gZW4gY2xhc2UgZGUgTWV0b2RvcyBDdWFudGl0YXRpdm9zIGFwbGljYWRvcyBhIGxhIEFkbWluaXN0cmFjaW9uIGltcGFydGlkYSBwb3IgZWwgRHIuIENhcmxvcyBSb2RyaWd1ZXogQ29udHJlcmFzCgpSIERldmVsb3BtZW50IENvcmUgVGVhbTogUjogQSBMYW5ndWFnZSBhbmQgRW52aXJvbm1lbnQgZm9yIFN0YXRpc3RpY2FsIENvbXB1dGluZywgUiBGb3VuZGF0aW9uIGZvciBTdGF0aXN0aWNhbCBDb21wdXRpbmcsIFZpZW5uYSwgQXVzdHJpYS4gSVNCTiAzLTkwMDA1MS0wNy0wLCBVUkwgaHR0cDovL3d3dy5SLXByb2plY3Qub3JnCgpCcmlhbiBSaXBsZXkgYW5kIGZyb20gMTk5OSB0byBPY3QgMjAwMiBNaWNoYWVsIExhcHNsZXkgKDIwMDkpLiBST0RCQzogT0RCQyBEYXRhYmFzZSBBY2Nlc3MuIFIgcGFja2FnZSB2ZXJzaW9uIDEuMy0xLiBodHRwOi8vQ1JBTi5SLXByb2plY3Qub3JnL3BhY2thZ2U9Uk9EQkMKCkhhbnMtUGV0ZXIgU3V0ZXIsIFRyZWV0cm9uIGFuZCBTd2l0emVybGFuZCAoMjAwNikuIHhsc1JlYWRXcml0ZTogTmF0aXZlbHkgcmVhZCBhbmQgd3JpdGUgRXhjZWwgZmlsZXMuIGh0dHA6IC8vdHJlZXRyb24uZ29vZ2xlcGFnZXMuY29tLwoKRXJpY2ggTmV1d2lydGgsIHdpdGggY29udHJpYnV0aW9ucyBieSBSaWNoYXJkIEhlaWJlcmdlciwgQ2hyaXN0aWFuIFJpdHRlciwgSmFuIEthcmVsIFBpZXRlcnNlIGFuZCBhbmQgSnVyZ2VuIFZvbGtlcmluZyAoMjAwOSkuIFJFeGNlbEluc3RhbGxlcjogSW50ZWdyYXRpb24gb2YgUiBhbmQgRXhjZWwsICh1c2UgUiBpbiBFeGNlbCwgcmVhZC93cml0ZSBYTFMgZmlsZXMpLiBSIHBhY2thZ2UgdmVyc2lvbiAzLjAtMTguIGh0dHA6Ly9DUkFOLlItcHJvamVjdC5vcmcvcGFja2FnZT1SRXhjZWxJbnN0YWxsZXIKCkR1bmNhbiBUZW1wbGUgTGFuZyAoMjAwOSkuIFJFeGNlbFhNTDogUmVhZCBhbmQgbWFuaXB1bGF0ZSBuZXctc3R5bGUgKE8gY2UgMDcpIEV4Y2VsIGZpbGVzLiBodHRwOi8vd3d3LiBvbWVnYWhhdC5vcmcvUkV4Y2VsWE1MLwoKU2ltb24gVXJiYW5layAoMjAwOSkuIHJKYXZhOiBMb3ctbGV2ZWwgUiB0byBKYXZhIGludGVyZmFjZS4gUiBwYWNrYWdlIHZlcnNpb24gMC44LTEuIGh0dHA6Ly9DUkFOLlItcHJvamVjdC4gb3JnL3BhY2thZ2U9ckphdmEKCgo=