Está en la página 1de 7

1 — Programación con R

1.1 Introducción
R es a la vez un entorno interactivo de gran alcance para el análisis de datos, visualización y modelado y es un
lenguaje diseñado y construido para dar soporte a estas tareas (desplegar datos, resúmenes, estimación de modelos,
simulación, cálculo numérico, etc.) con código sencillo y natural. Es software libre y fue desarrollado por Robert
Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993 (a partir del
lenguaje S).

Instalación
R es software libre y se puede descargar (Mac, Linux y Windows) en http://www.r-project.org/. Una interfaz de
usuario para R podría ser RS TUDIO y se puede descaragar (Mac, Linux y Windows) en http://www.rstudio.com/.
La instalación es directa en los tres casos.

La documentación oficial de R se puede ver en http://stat.ethz.ch/R-manual/R-devel/library/base/html/


00Index.html Una guía rápida bastante recomendable está en

http://www.statmethods.net/index.html

También hay varios manuales gratuitos de R , la manera fácil sería googlear1 “manual de R” o algo por el estilo. Por
ejemplo, un buen manual está en http://cran.r-project.org/doc/manuals/r-release/R-intro.html.

1 Googlear es un neologismo común entre los usuarios de internet que utilizan el buscador Google.
1.2 Sesiones en RStudio (https://tecdigital.tec.ac.cr/servicios/revistamatematica/). 12

1.2 Sesiones en RStudio


Uno de los ambientes de desarrollo para usar con R es R Studio. Este entorno de trabajo viene dividido en varios
paneles y cada panel tiene varias “pestañas”, por ejemplo

Console: Aquí es donde se pueden ejecutar coman-


dos de R de manera interactiva
History: Histórico con las variables y funciones de-
finidas, etc. (puede ser guardado, recarga-
do, etc.)
Plots: Ventana que muestra los gráficos de la se-
sión
Help: Esta es una ventana de ayuda, aquí
aparece la información cuando se pide
(seleccione un comando y presione
F1)
Files: Manejador de información, aquí podemos
localizar, cargar, mover, renombrar, etc.
Packages: Instalar o cargar paquetes Figura 1.1: Sesión R inicial con RStudio

■ Caminos cortos con las teclas: Una lista de completa de juegos de teclas y su acción se puede ver en
https://support.rstudio.com/hc/en-us/articles/200711853.

Por ejemplo,

a.) Ctrl+L: Limpia la consola


b.) Crt+Shift+C: Comentar código seleccionado

■ Workspace. El entorno de trabajo (workspace) incluye todos los objetos definidos por el usuario (vectores,
matrices, data frames, listas, funciones). Al final de una sesión de R , el usuario puede guardar una imagen del
espacio de trabajo actual que se vuelve a cargar automáticamente la próxima vez que R se inicia

■ Consola. Para empezar podríamos usar la consola para digitar y ejecutar algunos comandos (presionando Enter
para ejecutar). La consola se puede limpiar presionando Ctrl+L. Los primeros ejemplos de este capítulo se pueden
ejecutar en la consola.

■ Scripts. Por defecto, R inicia una sesión interactiva con la entrada desde teclado y la salida a la pantalla (en el
panel de la consola). Sin embargo, para programar y ejecutar código más extenso (con funciones y otro código), lo
que debemos hacer es abrir un “R script” nuevo con el menú File - New File - R Script.
1.2 Sesiones en RStudio (https://tecdigital.tec.ac.cr/servicios/revistamatematica/). 13

Editando un R script

# consola

Figura 1.2: Editando un R script

Los scripts son archivos .R con código R . Posiblemente funciones definidas por nosotros (nuestros programas)
y otros códigos. Para ejecutar este código (o parte de este código si los hemos seleccionando con el mouse) se
presiona sobre el ícono run (para “lanzarlo a la consola”)
Se
le
cc

Ejecutar
io
na
r

Figura 1.3: Ejecución del código seleccionado

Para ejecutar todo el código se usa Crtl+Shift+Enter o presionar el botón

■ Ayuda (Help). Para obtener ayuda de un comando o una función, se selecciona y se presiona F1. También un
comando se puede completar con la tecla Tab (adicionalmente se obtiene una descripción mínima).
1.2 Sesiones en RStudio (https://tecdigital.tec.ac.cr/servicios/revistamatematica/). 14

Generar reportes
Se puede generar un reporte de la sesión en formato .pdf, .docx o .html como se muestra en al figura que sigue,

Generar reporte

Figura 1.4: Generar un reporte

■ Reportes profesionales. Se puede generar un reporte profesional (y posiblemente dinámico) para una pre-
sentación, un artículo, un libro, etc. usando LATEX y el paquete knitr. Para esto puede consultar el libro “Edición de
textos científicos con LaTeX”. ITCR. (pp. 214 - 218). El libro lo puede descargar en https://tecdigital.tec.ac.cr/
revistamatematica/Libros/LaTeX/

■ Presentaciones dinámicas. Shiny es un paquete de R para crear aplicaciones web interactivas (apps) directa-
mente desde R . Puede consultar http://shiny.rstudio.com/tutorial/lesson1/.

■ Paquetes. Mucho del poder de R viene de la immensa


cantidad de paquetes conteniendo código y datos para
situaciones especiales. En la pestaña Packages se puede
inspeccionar los paquetes instalados.

La paquetes con casilla marcada (X) indican que el


paquete está cargado y se puede usar. Para buscar y/o
instalar nuevos paquetes se usa la pestaña Install.

Una lista (con su respectiva descripción) de qué paquetes


son útiles en métodos numéricos se puede obtener en la
página “RAN Task View: Numerical Mathematics”,

http://cran.r-project.org/web/views/
Figura 1.5: Pestaña Packages
NumericalMathematics.html
1.3 R como calculador (https://tecdigital.tec.ac.cr/servicios/revistamatematica/). 15

1.3 R como calculador


R se puede usar como un “calculador simbólico” sin tener que programar nada.

Usamos el símbolo # para los comentarios. En particular, en los ejemplos usamos este símbolo para indicar cuál es
la salida en consola.

Constantes: pi (es la constante π)

La constante e se puede obtener como exp(1)

N Todos los números son constantes. Pueden ser de tipo ’integer’, ’double’ o ’complex’. El tipo se puede
comprobar con la función typeof(). Las constantes numéricas seguidas de L, como 5L, se consideran
enteras y las seguidas de i se consideran complejas, como 5i.

Las constantes numéricas precedidas por 0x o 0X se interpretan como números hexadecimales. Por
ejemplo,

> 0xff
#[1] 255
> 0XF + 1
#[1] 16

Los caracteres pueden representarse como constantes utilizando comillas simples ’ o comillas dobles "
como delimitadores,

> typeof(’1erdiames’)
#[1] "character"

Operadores: <,>, <=, >=, !=, !(Not), | (OR), &(And), == (comparar)

Operaciones aritméticas: +,-,*,/, ^ (potencias), % % (mod = resto de la divisón entera), y %/ % (división


entera, por ejemplo 4 %/ %3 da resultado 1).

Logaritmos y exponenciales: log (logaritmo natural), log(x,b) (logb x) y exp(x) (e x ).

Funciones trigonométricas: cos(x), sin(x), tan(x), acos(x), asin(x), atan(x), atan2(y,x) con x,
y en radianes.

Funciones misceláneas: abs(x), sqrt(x), floor(x), ceiling(x), max(x), sign(x).

No tenemos una raíz cúbica pero, como veremos más adelante, la podemos definir como

sign(x)*abs(x)^(1/3)
1.3 R como calculador (https://tecdigital.tec.ac.cr/servicios/revistamatematica/). 16

Ejemplo 1.1

a.) Calcular cos(π/6 + π/2) + e 2

cos(pi/6+pi/2)+exp(1)^2 #Comentario: e=exp(1)


#[1] 6.889056

p
b.) Calcular cos(π/6 + π/2) + e 2 ∗ log2 5 + arc cos(1/ (2))

cos(pi/6+pi/2)+exp(1)^2*log(2,5)+acos(1/sqrt(2))
#[1] 3.467691

c.) Mensajes de error

acos(2/sqrt(2)) # Error pues, en acos(x), debe ser -1 <= x <= 1


#[1] NaN
#Mensajes de aviso perdidos
#In acos(2/sqrt(2)) : Se han producido NaNs
#> # Para pedir ayuda use ? antes de símbolo
#> ?NaN

N En los ejemplos anteriores, R ve la salida como un vector y [1] indica que es la primera entrada del vector de
salida.

Visualización numérica
■ Dígitos. R despliega los números con siete dígitos. Esto se puede cambiar a k dígitos con options(digits=k).
La opción permanece hasta que es cambiada o hasta que se reinicie R .

Código R 1.1:
1/3.0
# [1] 0.3333333
options(digits=3)
1/3
# [1] 0.333

También podría gustarte