R (Lenguaje de Programación)
R (Lenguaje de Programación)
Herramientas de productividad
Interfaces gráficas
Editores e IDEs
Lenguajes de script
Alternativas libres
Alternativas privativas
Referencias
Enlaces externos
Documentación en español
Historia
Fue desarrollado inicialmente por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la
Universidad de Auckland en 1993.1 Sin embargo, si se remonta a sus bases iniciales, puede decirse que
inició en los Bell Laboratories de AT&T y ahora Alcatel-Lucent en Nueva Jersey con el lenguaje S. Este
último, un sistema para el análisis de datos desarrollado por John Chambers, Rick Becker, y colaboradores
diferentes desde finales de 1970. La historia desde este punto es prácticamente la del lenguaje S. Los
diseñadores iniciales, Gentleman y Ihaka, combinaron las fortalezas de dos lenguajes existentes, S y Scheme.
En sus propias palabras: "El lenguaje resultante es muy similar en apariencia a S, pero en el uso de fondo y
la semántica es derivado desde Scheme". El resultado se llamó R "en parte al reconocimiento de la
influencia de S y en parte para hacer gala de sus propios logros".2
Su desarrollo actual es responsabilidad del R Development Core Team. Para saber más al respecto y en el
entorno del programa, puede teclearse contributors(); el la lista desplegada aparecen los nombres de los
autores iniciales y los actuales pertenecientes al R Development Core Team (Equipo Central de
Desarrolladores R).
Versión 0.16: Es la última versión alfa desarrollada esencialmente por Ihaka y Gentleman, que
incluye gran parte de las características descritas en el "White Book".
Características
R proporciona un amplio abanico de herramientas estadísticas (modelos lineales y no lineales, tests
estadísticos, análisis de series temporales, algoritmos de clasificación y agrupamiento, etc.) y gráficas Una
Herramienta Útil.
Al igual que S, se trata de un lenguaje de programación, lo que permite que los usuarios lo extiendan
definiendo sus propias funciones. De hecho, gran parte de las funciones de R están escritas en el mismo R,
aunque para algoritmos computacionalmente exigentes es posible desarrollar bibliotecas en C, C++ o Fortran
que se cargan dinámicamente. Los usuarios más avanzados pueden también manipular los objetos de R
directamente desde código desarrollado en C. R también puede extenderse a través de paquetes desarrollados
por su comunidad de usuarios.
Además, R puede integrarse con distintas bases de datos y existen bibliotecas que facilitan su utilización
desde lenguajes de programación interpretados como Perl y Python.
Otra de las características de R es su capacidad gráfica, que permite generar gráficos con alta calidad. R
posee su propio formato para la documentación basado en LaTeX.
Dado el enorme número de nuevos paquetes, estos se han organizado en vistas (o temas) (https://web.archiv
e.org/web/20100620013915/http://cran.r-project.org/web/views/), que permiten agruparlos según su
naturaleza y función. Por ejemplo, hay grupos de paquetes relacionados con estadística bayesiana,
econometría, series temporales, etc.
Para facilitar el desarrollo de nuevos paquetes, se ha puesto a servicio de la comunidad una forja de
desarrollo (http://r-forge.r-project.org) que facilita las tareas relativas a dicho proceso.
Otros sistemas de software comerciales que integran con R incluyen: JMP,8 Mathematica,9 MATLAB,10
Spotfire,11 SPSS,12 Statistica,13 Platform Symphony,14 SAS,15 Tableau Software,16 Esri ArcGis,17
Dundas,18 Statgraphics.19 y SQL Server 2017.20
Ejemplos mínimos
Algunos ejemplos mínimos para ver la forma en que se puede introducir el código.
Para cargar los paquetes que se requieren se debe de seleccionar el espejo (mirror), descargar la paquetería y
luego activarla. Para seleccionar el espejo:
> chooseCRANmirror(graphics=FALSE)
HTTPS CRAN mirror
Selection:
Al escribir solo chooseCRANmirror() se desplegará una ventana para elegirlo manualmente con el ratón.
Lo mismo ocurrirá si se omite graphics = FALSE o se escribe graphics = TRUE.
Cuando se instalan paquetes para análisis especializados, específicos o que simplemente no tiene
predeterminadamente instalados pero no activados el sistema, se instala. Así pues, en este caso, los paquetes,
al ser un entorno con dependencias funcionan mejor con tales paquetes auxiliares. Las dependencias pueden
ser por ejemplo otros paquetes o bases de datos para que funcione o bien, o mejor o de hecho lo haga.
Algunos paquetes funcionan con dependencias muy específicas, otros con dependencias muy generales;
como sea, a veces la misma instalación, al ser común la dependencia, lo hace de forma automática, pero no
en todas las ocasiones. Por esto para instalar el paquete de interés se escribirá:
Todos tanto con comillas dobles (" ") como con comillas simples (' ') o libres. Si se instalaron las arriba
mencionadas dependencias, aparecerán indicaciones luego del comando que describe las dependencias que
también se activaron al llamar la librería que se usará.
Para elaborar un mapa de Estados Unidos que sea sobre la tasa de desempleo de 2009 por condados
(municipios) y que estos estén marcados por densidad de color se usará lo que a continuación se presenta.
Basado en la solución J del "Choropleth Challenge" (http://blog.revolutionanalytics.com/2009/11/choropleth
-challenge-result.html). Se puede obtener este ejemplo (en inglés y con los colores originales) en
example(map)
# Se define la paleta de colores. Escala de grises en este caso. En el original, rosas y magenta.
colors = c("#F1EEF6", "#D3D3D3", "#B9B9B9", "#787878", "#2E2E2E", "#111111") # Colores
unemp$colorBuckets <- as.numeric(cut(unemp$unemp, c(0, 2, 4, 6, 8, 10, 100))) # Rangos de desempleo
leg.txt <- c("<2%", "2-4%", "4-6%", "6-8%", "8-10%", ">10%") # Etiquetas de los rangos
El siguiente ejemplo es tomado del libro de Kleiber y Zeileis intitulado Applied Econometrics with R. El
ejemplo que abajo se expondrá no es tomado al pie de la letra, se le agregaron algunos cambios por el tipo de
licencia; no obstante, el fin es el mismo. Se agregan muchas cosas para hacer más didáctico el código y
permitir exponer la flexibilidad del paquete estadístico R.
library(AER) # Para el compendio de datos del libro de Kleiber & Zeileis (2008)
library(scales) # Para las transparencias de los elementos de color.
library(quantreg) # Para usar las regresiones por cuantiles
Acá abajo aparece la imagen que se generó con el código de arriba. Además, cualquier error que en la
imagen venga no es culpa de los autores del libro citado. Los propietarios de los derechos de autor son
totalmente los autores del libro.
Proyectos relacionados
Bioconductor, un conjunto de paquetes para el análisis de datos en genómica.
Rmetrics, orientado al análisis de los mercados financieros y la valoración de instrumentos de
inversión.
Herramientas de productividad
Existen diversas interfaces que facilitan el trabajo con R.
Interfaces gráficas
JGR o Java GUI for R, una terminal de R multiplataforma basada en Java.
R Commander (Rcmdr), una interfaz gráfica multiplataforma basada en tcltk.
RExcel, que permite usar R y Rcmdr desde Microsoft Excel.
rggobi, una interfaz a GGobi para visualización.
RKWard, basado en KDE.
Sage
Statistical Lab
nexusBPM, una herramienta de automatización.
RStudio
Cantor21
Editores e IDEs
Bluefish,22 Crimson Editor, ConTEXT, Eclipse,23 Emacs (Emacs Speaks Statistics), Geany, jEdit,24
Kate,25 RStudio,26 RKWard,27 Syn, TextMate, Tinn-R, Vim, gedit, SciTE, WinEdt (R Package RWinEdt),
notepad++ y Visual Studio.28
Sweave es un procesador de documentos que puede ejecutar código de R incrustado en código de LaTeX y
para insertar código, resultados y gráficos en el documento escrito en LaTeX. LyX puede usarse para crear y
compilar documentos desarrollados en Sweave. El paquete odfWeave es similar, generando documentos en
el formato OpenDocument (ODF); extensiones en estado experimental también permiten generar
documentos del tipo presentación u hoja de cálculo.
Lenguajes de script
La funcionalidad de R puede ser invocada desde código desarrollado en otros lenguajes de script tales como
Python (mediante RPy29 ), Perl (mediante Statistics::R30 ), Ruby31 y F#.32 También pueden desarrollarse
scripts en R directamente usando littler33 o Rscript, que forma parte de la distribución básica de R desde la
versión 2.5.0.
Alternativas libres
Otras alternativas a R son las que abajo se presentan. Cabe recordar que pueden tener cierto sesgo a
especializarse en algún tema específico, como R lo hace con la biología, fisiología o similares, por ejemplo
con el proyecto Bioconductor. En el caso de estos sesgos positivos puede mencionarse a GNU Octave, que
es más matemático, o Gretl que se centra más a series de tiempo (usadas en econometría).
No obstante los sesgos temáticos, hay amplísimos grupos que usan todas las alternativas para usos eclécticos.
Econometría, biología, edafología, topología, estadística pueden ser algunas de las ramas que cada vez están
usando más las alternativas libres de software o lenguajes de programación (como R) para su aplicación
teórica o práctica.
Además, los paquetes se desarrollan para R conforme las investigaciones o publicaciones, como el caso del
ejemplo 3 líneas arriba. Otro ejemplo es el paquete de Benchmarking de R elaborado por Peter Bogetoft y
Lars Otto, ambos investigadores y especialistas del tema. Es decir, los productores de estos paquetes con,
casi siempre, especialistas e investigadores que desean compartir los conocimientos aplicados a la
comunidad de usuarios.
La naturaleza de los paquetes libres permiten que se testeen rápido y sean sinérgicas las opiniones para un
avance pronto. Entonces, existen ámbitos positivos en este caso también tanto como en las siguientes
alternativas, las privativas.
GNU Octave
Maxima
RStudio [1] (http://www.rstudio.com/)
Gnumeric
Gretl
WinBUGS
Tinn-R [2] (https://web.archive.org/web/20071214225832/http://www.sciviews.org/Tinn-R/)
PSPP [3] (https://www.gnu.org/software/pspp/)
Alternativas privativas
No obstante las poderosas alternativas libres mencionadas arriba, existen opciones que son privadas o
empresariales. En este caso, pueden presentarse lenguajes de programación con comunidades que comparten
códigos. En éste caso, Stata es un fuerte ejemplo. Es decir, un especialista puede desarrollar un paquete
especial para ese programa y luego compartirlo usualmente con la empresa autora; entonces, la empresa
puede distribuirla primero a manera de prueba y luego de forma gratuita (o con montos monetarios
especiales) y con el respaldo de la calidad avalada.
Existen puntos a favor de que las empresas distribuyan con cierto aval los códigos o paqueterías: se asegura
del óptimo funcionamiento de las mismas, se evitan los bugs que eventualmente pueden ser comunes en
ciertos códigos de las alternativas libres y otras más.
Referencias
Wolfram. 2013. Consultado el 18 de
1. A Brief History (http://cran.r-project.org/doc/h septiembre de 2013.
tml/interface98-paper/paper_2.html) R: Past
and Future History, Ross Ihaka, Statistics 10. Henson, Robert (23 de julio de 2013).
Department, The University of Auckland, «MATLAB R Link» (http://www.mathworks.co
Auckland, New Zealand, available from the m/matlabcentral/fileexchange/5051). The
CRAN website MathWorks, Inc. Consultado el 18 de
septiembre de 2013.
2. Kleiber, Christian; Zeileis, Achim (2008).
Applied Econometrics with R (http://www.spri 11. Gibson, Brendan (8 de marzo de 2010).
nger.com/us/book/9780387773162) (1ra «Spotfire Integration with S+ and R» (https://
edición). Springer Science+Business Media. web.archive.org/web/20120319050518/htt
p. 15. ISBN 978-0-387-77316-2. p://spotfire.tibco.com/community/blogs/stn/ar
chive/2010/03/08/spotfire-integration-with-s-
3. What's new in R? (http://www.r-project.org/n and-r.aspx). Spotfire. Archivado desde el
ews.html) What's new in R? original (http://spotfire.tibco.com/community/
4. Peter Dalgaard. «R-1.0.0 is released» (http blogs/stn/archive/2010/03/08/spotfire-integra
s://stat.ethz.ch/pipermail/r-announce/2000/0 tion-with-s-and-r.aspx) el 19 de marzo de
00127.html). Consultado el 6 de junio de 2012. Consultado el 19 de septiembre de
2009. 2013.
5. Jackman, Simon (Spring 2003). «R For the 12. Clark, Mike (octubre de 2007). «Introduction
Political Methodologist» (https://web.archive. to SPSS 16» (http://www.unt.edu/benchmark
org/web/20060721143309/http://polmeth.wu s/archives/2007/october07/rss.htm).
stl.edu/tpm/tpm_v11_n2.pdf) (PDF). The University of North Texas Research and
Political Methodologist (Political Statistical Support. Consultado el 19 de
Methodology Section, American Political septiembre de 2013.
Science Association) 11 (1): 20-22. 13. StatSoft (n.d.). «Using the R Language
Archivado desde el original (http://polmeth.w Platform» (https://web.archive.org/web/2013
ustl.edu/tpm/tpm_v11_n2.pdf) el 21 de julio 0612060237/http://www.statsoft.com/solution
de 2006. Consultado el 3 de agosto de 2006. s/r-language-platform/). StatSoft Inc.
6. «Speed comparison of various number Archivado desde el original (http://www.stats
crunching packages (version 2)» (https://we oft.com/solutions/r-language-platform/) el 12
b.archive.org/web/20071016130210/http://w de junio de 2013. Consultado el 20 de
ww.sciviews.org/benchmark/). SciView. septiembre de 2013.
Archivado desde el original (http://www.scivi 14. Parmar, Onkar (31 de marzo de 2011). « "R"
ews.org/benchmark) el 16 de octubre de integrated with Symphony» (http://platformco
2007. Consultado el 3 de noviembre de mputing.blogspot.com/2011/03/r-integrated-
2007. with-symphony.html). Platform Computing
7. «RWeka: An R Interface to Weka. R Corporation. Consultado el 20 de septiembre
package version 0.3-17» (http://CRAN.R-proj de 2013.
ect.org/package=RWeka). Kurt Hornik, 15. SAS (11 de noviembre de 2010). «Calling
Achim Zeileis, Torsten Hothorn and Christian Functions in the R Language (SAS/IML)» (htt
Buchta. Consultado el 2009. p://support.sas.com/documentation/cdl/en/im
8. JMP (2013). «Analytical Application lsstat/63545/HTML/default/viewer.htm#statr_
Development with JMP» (http://www.jmp.co toc.htm). Consultado el 20 de septiembre de
m/applications/analytical_apps/). SAS 2013.
Institute Inc. Consultado el 19 de septiembre 16. Tableau (17 de diciembre de 2013). «R is
de 2013. Here!» (http://www.tableau.com/about/blog/r-
9. «New in Mathematica 9: Built-in Integration integration). Consultado el 29 de enero de
with R» (http://www.wolfram.com/mathematic 2015.
a/new-in-9/built-in-integration-with-r/).
17. «Building a Bridge to the R Community» (htt 25. «Syntax Highlighting» (https://web.archive.or
ps://blogs.esri.com/esri/esri-insider/2015/07/ g/web/20080707062903/http://www.kate-edit
20/building-a-bridge-to-the-r-community/). or.org/downloads/syntax_highlighting). Kate
Esri. 20 de julio de 2015. Consultado el 14 Development Team. Archivado desde el
de abril de 2016. original (http://kate-editor.org/downloads/synt
18. Dundas. «R Integrated with Dundas BI» (htt ax_highlighting) el 7 de julio de 2008.
p://www.dundas.com/). Consultado el 30 de Consultado el 9 de julio de 2008.
julio de 2015. 26. «Integrated Development Environment (IDE)
19. «Statgraphics R Interface» (http://www.statgr for R» (http://www.rstudio.org/). RStudio, Inc.
aphics.com/webinars). Consultado el 16 de marzo de 2012.
20. «Editions and supported features of SQL 27. «Página proyecto RKWard» (http://rkward.so
Server 2017» (https://docs.microsoft.com/en- urceforge.net/).
us/sql/sql-server/editions-and-components-of 28. NppToR: R in Notepad++ (http://sourceforge.
-sql-server-2017). 15 de marzo de 2018. net/projects/npptor/)
21. «Cantor - Description» (http://edu.kde.org/ca 29. RPy home page (http://rpy.sourceforge.net)
ntor/). The KDE Education Project. 30. Statistics::R page on (http://search.cpan.org/
Consultado el 4 de noviembre de 2012. ~gmpassos/Statistics-R-0.02/lib/Statistics/R.
22. Customizable syntax highlighting based on pm)CPAN
Perl Compatible regular expressions, with 31. RSRuby GitHub project (https://github.com/al
subpattern support and default patterns exgutteridge/rsruby)
for..R, tenth bullet point, Bluefish Features (h
32. F# R Type Provider (http://bluemountaincapit
ttp://bluefish.openoffice.nl/features.html),
al.github.io/FSharpRProvider/)
Bluefish website, retrieved 9 July 2008.
33. littler web site (http://dirk.eddelbuettel.com/c
23. Stephan Wahlbrink. «StatET: Eclipse based
ode/littler.html)
IDE for R» (http://www.walware.de/goto/state
t). Consultado el 26 de septiembre de 2009.
24. Jose Claudio Faria. «R syntax» (http://comm
unity.jedit.org/?q=node/view/2339).
Consultado el 3 de noviembre de 2007.
Enlaces externos
Wikimedia Commons alberga una categoría multimedia sobre R.
Página oficial (http://www.r-project.org/)
The R Reference Manual - Base Package (https://web.archive.org/web/20071217004131/http://
www.network-theory.co.uk/R/base/), R Development Core Team. ISBN 0-9546120-0-0 (vol. 1),
ISBN 0-9546120-1-9 (vol. 2)
Colección de paquetes en CRAN (Comprehensive R Archive Network) (https://web.archive.org/
web/20080105045216/http://cran.r-project.org/)
R-Wiki (https://web.archive.org/web/20080821105438/http://wiki.r-project.org/)
Interfaz Web para R (https://web.archive.org/web/20060615112752/http://www.math.montana.
edu/Rweb/)
R Graph Gallery (https://web.archive.org/web/20130113002105/http://gallery.r-enthusiasts.co
m/), una colección de gráficos creados con R.
Proyecto R UCA (http://knuth.uca.es/R/), Universidad de Cádiz
Documentación en español
R para Principiantes (http://cran.r-project.org/doc/contrib/rdebuts_es.pdf), la versión en español
de R for Beginners, traducido por Jorge A. Ahumada (PDF).
Versión en español de An Introduction to R (http://cran.r-project.org/doc/contrib/R-intro-1.1.0-es
panol.1.pdf) por Andrés González y Silvia González (PDF).
Estadística Básica con R y R-Commander (http://knuth.uca.es/moodle/course/view.php?id=37)
(libro libre)
Gráficos Estadísticos con R (http://cran.r-project.org/doc/contrib/grafi3.pdf) por Juan Carlos
Correa y Nelfi González (PDF).
Cartas sobre Estadística de la Revista Argentina de Bioingeniería (http://cran.r-project.org/doc/
contrib/Risk-Cartas-sobre-Estadistica.pdf) por Marcelo R. Risk (PDF).
Introducción al uso y programación del sistema estadístico R (http://cran.r-project.org/doc/contr
ib/curso-R.Diaz-Uriarte.pdf) por Ramón Díaz-Uriarte, transparencias preparadas para un curso
de 16 horas sobre R, dirigido principalmente a biólogos y especialistas en bioinformática
(PDF).
Lista de correo R-help-es en español (https://stat.ethz.ch/mailman/listinfo/r-help-es) Lista de
correo oficial de R en español.
Obtenido de «https://es.wikipedia.org/w/index.php?title=R_(lenguaje_de_programación)&oldid=124032708»
Esta página se editó por última vez el 5 mar 2020 a las 12:08.
El texto está disponible bajo la Licencia Creative Commons Atribución Compartir Igual 3.0; pueden aplicarse cláusulas
adicionales. Al usar este sitio, usted acepta nuestros términos de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de la Fundación Wikimedia, Inc., una organización sin ánimo de lucro.