1 ¿Qué es R?

R es un potente lenguaje orientado a objetos y destinado al análisis estadístico y la representación de datos. Se trata de software libre que permite su utilización libre y gratuitamente. La comunidad científica internacional lo ha elegido como la lingua franca del análisis de datos. Y tiene una gran implantación en universidades y cada vez más en mundo empresarial.

Otra definición: “R es un paquete estadístico de última generación al mismo tiempo que un lenguaje de programación”.

1.1 ¿Por qué emplear R?

Estadística se puede hacer con miles de paquetes estadísticos, incluso con hojas de cálculo e incluso los más osados con lápiz y papel (aunque la exactitud de las máquinas es una potencia que no podemos desdeñar: cálculo de p-valores, estadísticos exactos…).

¿Qué tiene R que tanto nos gusta?:

  • Es libre. Se distribuye bajo licencia GNU, lo cual significa que lo puedes utilizar y ¡mejorar!

  • Es multiplataforma, hay versiones para Linux, Windows, Mac, iPhone… ¡web!

  • Se puede analizar en R cualquier tipo de datos.

  • Es potente. Es muy potente.

  • Su capacidad gráfica difícilmente es superada por ningún otro paquete estadístico.

  • Es compatible con ‘todos’ los formatos de datos (.csv, .xls, .sav, .sas…)

  • Es ampliable, si quieres añadir algo: ¡empaquétalo!

  • Hay miles de técnicas estadísticas implementadas, cada día hay más.

1.2 Instalación de R

La instalación difiere para cada sistema operativo; en Windows es un ejecutable, en GNU/Linux se hace habitualmente ejecutando algunos comandos desde la consola…

La última versión, cuando se elabora este documento, es la R 3.3.2 que está disponible para su descarga desde la página web de CRAN: http://cran.es.r-project.org/

1.2.1 En Windows

Se hace desde un ejecutable que bajamos desde “Download R 3.3.2 for Windows (62 megabytes, 32/64 bit)” y lo instalamos ejecutándolo; un vídeo de la instalación puede verse aquí.

1.2.2 En GNU/Linux

Dependiendo de la distribución el procedimiento puede variar, a modo de ejemplo indicamos el procedimiento para la instalación en una ditribución Ubuntu:

sudo apt-get update
sudo apt-get install r-base

Para más detalles sobre el procedimiento ver CRAN o esté sitio web: www.digitalocean.com.

1.2.3 En Mac OX

Tanto la información para la intalación como el fichero necesarios están disponibles aquí: http://cran.es.r-project.org/bin/macosx/

1.2.4 Comprobando la instalación

Lanzar R y salir:

  1. En GNU/Linux: R

  2. en Windows: doble clic en el icono “R”

  3. Para salir de la aplicación ejecutamos en ambos S.O.:

     q()  # para salir 

1.3 Trabajando con R

1.3.1 Ayuda en R

¿Cómo obtenemos ayuda en R? Veamos la siguiente tabla:

Funciones de ayuda en R
Función Acción
help.start() Ayuda general
help(mean) o ?mean Función de ayuda
help.search("mean") RSiteSearch("mean") Ayuda online
apropos("mean", mode ="function") Lista todas las funciones que contienen mean en el nombre
data() Muestra los conjuntos de datos de ejemplo que hay disponibles

Otra fuente de ayuda son las listas de correo, R-help-es: https://stat.ethz.ch/mailman/listinfo/r-help-es. Es una lista de distribución donde uno puede preguntar y responder dudas que surgen al trabajar con R. Esta lista surgió muy cerca de esta universidad y gracias a ella se han realizado ya 6 jornadas de usuarios de R en español; la primera en Murcia, la segunda en Oviedo y las sucesivas en Madrid, Barcelona, Zaragoza y Santiago de Compostela (visita:www.r-es.org).

1.3.2 Espacio y directorio de trabajo

El “workspace” es el espacio de trabajo en que se incluyen todos los objetos definidos por el usuario (ya veremos qué son estos objetos, que incluyen variables, vectores, dataframes…), se almacena en memoria intermedia mientras trabajas con R.

Cuando termina una sesión de R el propio R te pregunta si quieres guardar el “workspace” para usos futuros. Este espacio, “workspace”, se recarga al volver a iniciar la sesión. Directorio de trabajo o “working directory” es el directorio donde por defecto “lee” R. También es donde guardará el workspace al finalizar la sesión y donde buscará un workspace guardado al inicio. Si quieres que R lea un fichero que no esté en “working directory” hay que especificar la ruta completa.

Funciones para manejar el “workspace”:

Funciones para el manejo del workspace
Función Acción
getwd() Muestra el wd: working directory
setwd("midirectorio") Ajusta el wd al especificado
ls() o dir() Lista lo que hay en el wd
history() Muestra los últimos comandos ejecutados
savehistory() Guarda el historial de comandos, por defecto en .RHistory
loadhistory() Carga el historial de comandos
save.image("mywspace.R") Guarda los objetos del workspace, por defecto en .RData
load("mywspace.R") Carga el workspace mywspace.R

1.3.3 Cosas varias: asignaciones, variables, comentarios, inputs

Todo lo precedido por almohadillas # R lo considera un comentario y no lo interpreta. En R empleamos el operador <- para hacer asignaciones, y una variable se crea “al vuelo”, esto es, en el mismo instante en el que la asignas. Es más, no puedes declararlas con anterioridad y dejarlas vacías.

Así:

mivariable <- 7  # asigna el número 7 a una variable 

Si quiero ver qué valor toma mi variable escribo:

mivariable
[1] 7

Nota: Cualquier asignación a una variable crea o reutiliza un “objeto” de R.

Si guardo el “workspace” , ahora, quedará guardada mi nueva variable en él.

1.3.4 Una sesión “tipo” en R

Veamos expresiones que habitualmente se usan una sesión de R.

> getwd() 

[1] "C:/Documents and Settings/Administrador/Mis documentos" 
    
> setwd( "C:/CursoR_UMU" ) # ¡¡Ojo con la barra!! 
set.seed( 1 )
x <- runif( 20 )
x
 [1] 0.2655 0.3721 0.5729 0.9082 0.2017 0.8984 0.9447 0.6608 0.6291
[10] 0.0618 0.2060 0.1766 0.6870 0.3841 0.7698 0.4977 0.7176 0.9919
[19] 0.3800 0.7774
summary( x )
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.062   0.345   0.601   0.555   0.772   0.992 
hist( x )
Mi madre que chulo!

Mi madre que chulo!

Ahora cerramos la sesión guardando, explícitamente, el historial de expresiones y el work space actual (objetos).

> savehistory()
> save.image()
> q()

1.3.5 R como calculadora

Podemos emplear R como una calculadora.

45 + 23
[1] 68
100 / 4
[1] 25
sqrt( 25 )
[1] 5
# usando variables
x <- 100 / 4
5
[1] 5

hay definidas algunas constantes…

pi
[1] 3.14
r    <- 5
area <- 2 * pi + r
area
[1] 11.3
c( 25, 100, 2, 3 ) * 5
[1] 125 500  10  15

Nota: Cambia el número de decimales por defecto con options( digits = 12 ) y para saber en que está establecido usa getOption( "digits" ).

old <- getOption( "digits" ) # guardamos la opcion actual
getOption( "digits" )
[1] 3
options( digits = 12 )  # cambiamos el número de digitos
getOption( "digits" )
[1] 12
options( digits = old ) # lo devolvemos al estado inicial
getOption( "digits" )
[1] 3

1.3.6 En R trabajamos con scripts

Para cargar un fichero con instrucciones, un script, empleamos la función source().

source( "fichero_de_comandos.R" ) 

Un fichero que crease un histograma de una curva normal debería de contener, por ejemplo, estas instrucciones:

x <- rnorm( 100 )  # crea 100 observaciones aleatorias 
                   # de una normal tipificada 
hist( x )