1 Introducción

Este compendio de unidades sobre análisis y modelización estadística trata de mostrar una versión aplicada para el tratamiento de los modelos estadísticos más básicos. El objetivo no es mostrar una versión teórica de estos modelos sino una versión aplicada. Se recomienda a los lectores interesado que complementen la teoría de estos modelos con manuales más específicos.

Para poder seguir los contenidos aquí expuestos se recomiendan conocimientos básicos de estadística descriptiva, probabilidad e inferencia estadística, así como las funciones de R necesarias para llevar a cabo dichos análisis. Sin embargo, se introduce diferentes secciones sobre uso del programa y se desarolla de forma plaicada los conceptos relacionados con el análisis exploratorio de datos y la inferencia básica.

Los modelos contenidos en este manual son:

2 Primeros pasos con R y RStudio

Para poder utilizar el código expuesto en estos materiales es necesario la instalación del programa R, del programa RStudio y de diferentes librerías de R. En los puntos siguientes se describe brevemente cada uno de estos puntos. Se recomienda además la consulta de los materiales electrónicos siguientes para complmentar la formación.

2.1 Instalación y puesta en marcha

  • Instalación de R y RStudio. Leer el capítulo de introducción del libro de Childs (2017) e instalar ambos programas descargándolos de sus correspondientes webs:

  • Primeros pasos en R y RStudio. Leer los capítulos 1, 2, y 3 de Childs (2017), el capítulo 4 de Wickham (2015), y los capítulos 4 y 6 de Wickham (2016) para un desarrollo más amplio. Realizar los ejercicios que van a apareciendo a lo largo de los capítulos.

  • Estructuras de datos. Leer los capítulos 4, 5, 6 y 9 de Childs (2017) para una breve introducción y los capítulos 2 y 3 de Wickham (2015) para completar la información. Realiza los ejercicios que van apareciendo.

  • Instalación y uso de librerías en RStudio. Leer el capítulo 8 de Childs (2017) e instala las librerías tidyverse, stringr, forcats, lubridate, magrittr, broom y datasets mediante la consola de RStudio. Carga las librerías con el comando library para comprobar que se han instalando de forma correcta.

  • Creación de proyectos y entornos de trabajo. Leer el capítulo 8 de Wickham (2016). Crea un proyecto para esta unidad, selecciona el directorio de trabajo donde se encuentra situado el proyecto, y guarda el entorno de trabajo.

2.2 Carga de datos experimentales en R y RStudio

Trabajar y analizar nuestros datos es el objetivo fundamental cuando realizamos cualquier diseño experimental. En R y RStudio hay tres procedimientos:

  • Crear tu banco de datos dentro de RStudio: Este procedimiento sólo sirve para bancos de datos muy pequeños. En la práctica solemos almacenar nuestros datos en hojas de cálculo o bases de datos lo suficientemente grandes como para impedir este procedimiento.

  • Utilizar bancos de datos de librerías: Para ejemplificar los procedimientos que utilizaremos a lo largo del curso resulta muy útil utilizar bancos de datos que se encuentran alojados en diferentes librerías de R. Estos ejemplos aparecen en muchas ocasiones en la literatura y dan se utilizan únicamente como muestra de los análisis estadísticos que iremos realizando.

  • Importar tus datos a R: Esta es la situación más general ya que se trata de cargar los datos recogidos en tu diseño experimental. Lo habitual es que dispongamos de una hoja de cálculo o una base de datos donde hemos ido almacenando toda la información sobre cada uno de los sujetos en todas las variables que hayamos considerado en nuestro experimento.

  • Importar bases de dato de internet: En los últimos años el uso de bancos de datos que se cargan desde repositorios de internet se ha expandido rápidamente. Los centros de almacenamiento en la nube han crecido como la espuma y muchos investigadores optan por esta opción para mantener copias actualizadas de todos sus datos de investigación. En muchas ocasiones este procedimiento es muy similar al del apartado anterior ya que el procedimiento para incorporar los datos en R es el mismo. Nos da igual que sea un fichero en local (almacenado en nuestro ordenador) o en la nube.

Para realizar esta actividad utilizaremos diferentes ejemplos para mostrar como importar los datos de nuestra investigación utilizando la librería tidyverse.

2.3 Antes de empezar

Antes de cargar nuestros datos de trabajo es recomendable realizar siempre los siguientes pasos:

  • Crear Poyecto de trabajo: Para poder recuperar todo los análisis o cálculos que realizamos durante una sesión de RStudio es necesario crear un proyecto de trabajo. Para ello (una vez abierto RStudio) debemos ir al menú File > New Project… y asignar un nombre al proyecto. En el momento de creación del proyecto podrás crear un directorio (en local) donde se ira almacenando todo tu trabajo. Crea un proyecto de trabajo con nombre P01MODSTAT. RStudio le asignará la extensión Rproj.

  • Asignar entorno de trabajo: Una vez creado el proyecto debemos indicar a RStudio donde se debe situar el entorno de trabajo, es decir, el fichero que almacenará nuestros análisis para que podamos recuperarlos en sesiones posteriores. Para ello debemos ir al menú Session > Set Working Directory > To Project Directory. En la ventana inferior derecha de RStudio nos debería aparecer (en la pestaña Files) el proyecto que acabamos de crear.

  • Crear fichero de sintáxis: Para poder trabajar dentro del entorno de RStudio es necesario crear un fichero de sintaxis que permita ejecutar un conjunto de sentencias de forma conjunta. De esta forma nos evitaremos tendremos que ir escribiendo en la consola de ejecución directamente. Para crear dicho fichero debes seguir el menú File > New File > R Script. Dicho fichero aparecerá sin nombre, de forma que se recomienda guardarlo con un nombre antes de continuar (File > Save As…). Dicho fichero debe aparecer en el directorio de trabajo (ventana inferior derecha de RStudio). Crea un fichero de sintaxis con el nombre Práctica 1. RStudio le asignará la extensión r.

Cuando se acaba la sesión se deben guardar todos los documentos (File > Save All) y cerrar el proyecto (File > Close Project). En se momento deberás guardar también el entorno de trabajo. De esta forma podrás recuperar todos tus ficheros y cálculos cuando abras una nueva sesión de RStudio sin más que ir al menú File > Recent Projects, seleccionar el proyecto de trabajo y cargar el entono de trabajo asociado.

Estos pasos son necesarios para asegurar que todo el trabajo que se realiza se almacena de forma adecuada para poder ser recuperado de forma sencilla. Cambia el nombre de tu proyecto y del fichero de sintaxis para cada una de las prácticas que realizaremos.

2.4 Informes prediseñados

En los últimos tiempos se ha puesto de modo la creación de informes directos apartir del código utilizado en Rstudio mediante la creación de documentos específicos. Su puede consulyar una guía sencilla de uso en enlace. Un desaroollo más completo se puede ver en este enlace. También se puede consultar este vídeo.

2.5 Un poco de práctica

Vamos a probar tres formas de cargar en R los datos de un diseño experimental. Utilizaremos el fichero de sintaxis creado en el punto anterior y diferentes funciones tanto para la lectura como la visualización de los datos cargados.

2.5.1 Creando datos

En primer lugar, vamos a ver como crear nuestro propio banco de datos a través de la sintaxis de R. Esta opción es poco habitual ya que supondría transcribir todo nuestro banco de datos, pero puede resultar en experimentos muy pequeños donde tenemos pocos sujetos y variables. Para ejemplificar su uso utilizamos los datos del ejemplo1 descritos en el apartado Bancos de datos de ejemplos. Para crear el banco de datos nos ayudaremos de las funciones c() para crear cada una de las variables y data.frame() para combinarlas todas ellas y crear el banco de datos de todos los sujetos.

##    edad nivel
## 1    46   3.5
## 2    57   4.5
## 3    22   2.2
## 4    22   2.5
## 5    28   2.3
## 6    29   3.3
## 7    20   1.9
## 8    25   3.0
## 9    43   3.8
## 10   63   4.6
## 11   49   4.0
## 12   34   3.2
## 13   52   4.0
## 14   28   2.9
## 15   57   4.1
## 16   40   3.2
## 17   52   4.3
## 18   24   2.5
## 19   30   2.6
## 20   36   3.8
## 21   33   3.0
## 22   48   4.2
## 23   58   3.9
## 24   50   3.3

Los datos cargados aparecerán en la consola y en la ventana de Evironment (ventana superior derecha del entorno de RStudio). Clicando en esa ventana sobre los datos se abrirá una ventana de visualización de datos.

Hazlo tu mismo: Copia la sintaxis anterior en tu fichero script y ejecuta todas las sentencias. Verifica que puedes acceder a los datos a través de la ventana de Environment.

2.5.2 De librerías de R

Muchas de las librerías de R llevan incorporados bancos de datos para mostrar el uso de sus funciones. De hecho, existen librerías que contienen únicamente datos como por ejemplo la librería datasets. El acceso a esos datos se realiza a través de la función data( ), una vez se ha cargado la librería que los contiene. Ejemplificamos su uso con el banco de datos airquality que se encuentra alojado en la librería datasets.

##     Ozone Solar.R Wind Temp Month Day
## 1      41     190  7.4   67     5   1
## 2      36     118  8.0   72     5   2
## 3      12     149 12.6   74     5   3
## 4      18     313 11.5   62     5   4
## 5      NA      NA 14.3   56     5   5
## 6      28      NA 14.9   66     5   6
## 7      23     299  8.6   65     5   7
## 8      19      99 13.8   59     5   8
## 9       8      19 20.1   61     5   9
## 10     NA     194  8.6   69     5  10
## 11      7      NA  6.9   74     5  11
## 12     16     256  9.7   69     5  12
## 13     11     290  9.2   66     5  13
## 14     14     274 10.9   68     5  14
## 15     18      65 13.2   58     5  15
## 16     14     334 11.5   64     5  16
## 17     34     307 12.0   66     5  17
## 18      6      78 18.4   57     5  18
## 19     30     322 11.5   68     5  19
## 20     11      44  9.7   62     5  20
## 21      1       8  9.7   59     5  21
## 22     11     320 16.6   73     5  22
## 23      4      25  9.7   61     5  23
## 24     32      92 12.0   61     5  24
## 25     NA      66 16.6   57     5  25
## 26     NA     266 14.9   58     5  26
## 27     NA      NA  8.0   57     5  27
## 28     23      13 12.0   67     5  28
## 29     45     252 14.9   81     5  29
## 30    115     223  5.7   79     5  30
## 31     37     279  7.4   76     5  31
## 32     NA     286  8.6   78     6   1
## 33     NA     287  9.7   74     6   2
## 34     NA     242 16.1   67     6   3
## 35     NA     186  9.2   84     6   4
## 36     NA     220  8.6   85     6   5
## 37     NA     264 14.3   79     6   6
## 38     29     127  9.7   82     6   7
## 39     NA     273  6.9   87     6   8
## 40     71     291 13.8   90     6   9
## 41     39     323 11.5   87     6  10
## 42     NA     259 10.9   93     6  11
## 43     NA     250  9.2   92     6  12
## 44     23     148  8.0   82     6  13
## 45     NA     332 13.8   80     6  14
## 46     NA     322 11.5   79     6  15
## 47     21     191 14.9   77     6  16
## 48     37     284 20.7   72     6  17
## 49     20      37  9.2   65     6  18
## 50     12     120 11.5   73     6  19
## 51     13     137 10.3   76     6  20
## 52     NA     150  6.3   77     6  21
## 53     NA      59  1.7   76     6  22
## 54     NA      91  4.6   76     6  23
## 55     NA     250  6.3   76     6  24
## 56     NA     135  8.0   75     6  25
## 57     NA     127  8.0   78     6  26
## 58     NA      47 10.3   73     6  27
## 59     NA      98 11.5   80     6  28
## 60     NA      31 14.9   77     6  29
## 61     NA     138  8.0   83     6  30
## 62    135     269  4.1   84     7   1
## 63     49     248  9.2   85     7   2
## 64     32     236  9.2   81     7   3
## 65     NA     101 10.9   84     7   4
## 66     64     175  4.6   83     7   5
## 67     40     314 10.9   83     7   6
## 68     77     276  5.1   88     7   7
## 69     97     267  6.3   92     7   8
## 70     97     272  5.7   92     7   9
## 71     85     175  7.4   89     7  10
## 72     NA     139  8.6   82     7  11
## 73     10     264 14.3   73     7  12
## 74     27     175 14.9   81     7  13
## 75     NA     291 14.9   91     7  14
## 76      7      48 14.3   80     7  15
## 77     48     260  6.9   81     7  16
## 78     35     274 10.3   82     7  17
## 79     61     285  6.3   84     7  18
## 80     79     187  5.1   87     7  19
## 81     63     220 11.5   85     7  20
## 82     16       7  6.9   74     7  21
## 83     NA     258  9.7   81     7  22
## 84     NA     295 11.5   82     7  23
## 85     80     294  8.6   86     7  24
## 86    108     223  8.0   85     7  25
## 87     20      81  8.6   82     7  26
## 88     52      82 12.0   86     7  27
## 89     82     213  7.4   88     7  28
## 90     50     275  7.4   86     7  29
## 91     64     253  7.4   83     7  30
## 92     59     254  9.2   81     7  31
## 93     39      83  6.9   81     8   1
## 94      9      24 13.8   81     8   2
## 95     16      77  7.4   82     8   3
## 96     78      NA  6.9   86     8   4
## 97     35      NA  7.4   85     8   5
## 98     66      NA  4.6   87     8   6
## 99    122     255  4.0   89     8   7
## 100    89     229 10.3   90     8   8
## 101   110     207  8.0   90     8   9
## 102    NA     222  8.6   92     8  10
## 103    NA     137 11.5   86     8  11
## 104    44     192 11.5   86     8  12
## 105    28     273 11.5   82     8  13
## 106    65     157  9.7   80     8  14
## 107    NA      64 11.5   79     8  15
## 108    22      71 10.3   77     8  16
## 109    59      51  6.3   79     8  17
## 110    23     115  7.4   76     8  18
## 111    31     244 10.9   78     8  19
## 112    44     190 10.3   78     8  20
## 113    21     259 15.5   77     8  21
## 114     9      36 14.3   72     8  22
## 115    NA     255 12.6   75     8  23
## 116    45     212  9.7   79     8  24
## 117   168     238  3.4   81     8  25
## 118    73     215  8.0   86     8  26
## 119    NA     153  5.7   88     8  27
## 120    76     203  9.7   97     8  28
## 121   118     225  2.3   94     8  29
## 122    84     237  6.3   96     8  30
## 123    85     188  6.3   94     8  31
## 124    96     167  6.9   91     9   1
## 125    78     197  5.1   92     9   2
## 126    73     183  2.8   93     9   3
## 127    91     189  4.6   93     9   4
## 128    47      95  7.4   87     9   5
## 129    32      92 15.5   84     9   6
## 130    20     252 10.9   80     9   7
## 131    23     220 10.3   78     9   8
## 132    21     230 10.9   75     9   9
## 133    24     259  9.7   73     9  10
## 134    44     236 14.9   81     9  11
## 135    21     259 15.5   76     9  12
## 136    28     238  6.3   77     9  13
## 137     9      24 10.9   71     9  14
## 138    13     112 11.5   71     9  15
## 139    46     237  6.9   78     9  16
## 140    18     224 13.8   67     9  17
## 141    13      27 10.3   76     9  18
## 142    24     238 10.3   68     9  19
## 143    16     201  8.0   82     9  20
## 144    13     238 12.6   64     9  21
## 145    23      14  9.2   71     9  22
## 146    36     139 10.3   81     9  23
## 147     7      49 10.3   69     9  24
## 148    14      20 16.6   63     9  25
## 149    30     193  6.9   70     9  26
## 150    NA     145 13.2   77     9  27
## 151    14     191 14.3   75     9  28
## 152    18     131  8.0   76     9  29
## 153    20     223 11.5   68     9  30

Hazlo tu mismo: Copia la sintaxis anterior y ejecútala en tu fichero script. Modifica la sintaxis anterior para poder cargar los bancos de datos esoph, mpg, diamonds, Puromycin y verifica que se han cargado correctamente. Para la carga de datos se deben respetar las mayúsculas - minúsculas del nombre.

2.5.3 Importando tus datos

Esta es la forma habitual de cargar los datos de nuestro diseño experimental. Aunque se pueden cargar ficheros con diferentes orígenes el más habitual es el formato csv. Este formato es genérico en hojas de cálculo y bases de datos ya que cualquier fichero generado en dichas aplicaciones se puede exportar en formato csv. Antes de cargar los datos debemos revisar el fichero csv para asegurarnos que los formatos numéricos (decimales y miles) corresponden a los utilizados por R. En R los decimales se identifican por punto y con comas como es habitual en muchas hojas de cálculo. Una vez creado el documento csv basta con cambiar las comas por punto para poder ser cargados en R. En este caso utilizaremos ficheros csv ya preparados y alojados en el repositorio Github. Utilizaremos el enlace web del fichero para poder cargar los datos. Para la carga de ficheros externos en formato csv utilizamos la función read_csv(). Dicha función tiene dos parámetros principales:

read_csv(file = nombre, col_tipes = tipos)

Los tipos de variables permitidos son i para variables que contienen números enteros, d para variables que contienen números con decimales, y c para variables con texto o etiquetas. A modo de ejemplo mostramos como cargar el conjunto de datos NCBIRTH800.

## # A tibble: 800 x 14
##    plural sex    mage weeks marital racemom hispmom gained smoke drink tounces
##     <dbl> <chr> <dbl> <dbl> <chr>   <chr>   <chr>    <dbl> <chr> <chr>   <dbl>
##  1      1 1        32    40 1       1       N           38 0     0         111
##  2      1 2        32    37 1       1       N           34 0     0         116
##  3      1 1        27    39 1       1       N           12 0     0         138
##  4      1 1        27    39 1       1       N           15 0     0         136
##  5      1 1        25    39 1       1       N           32 0     0         121
##  6      1 1        28    43 1       1       N           32 0     0         117
##  7      1 2        25    39 1       1       N           75 0     0         143
##  8      1 2        15    42 2       1       N           25 0     0         113
##  9      1 2        37    41 1       8       N           31 0     0         139
## 10      1 2        21    39 1       1       N           28 0     0         120
## # … with 790 more rows, and 3 more variables: tgrams <dbl>, low <chr>,
## #   premie <chr>

Hazlo tu mismo: Copia la sintaxis anterior y ejecútala en tu fichero script. Modifica la sintaxis anterior para poder cargar los bancos de datos que aparecen en la tabla siguiente (enlace web y tipos de variables) y verifica que se han cargado correctamente. Nombre Enlace de los datos Tipos de variables:

3 Requisitos para la utilización de estos materiales

Para el uso de estos materiales hay que instalar difrentes librerías. Para instalarlas se puede ejecutar el código siguiente en la ventana de ejecución de `RStudio:

Para algún análisis especifíco se utilizará alguna librería accesoria que será cargada con el comando require().

Para cargar las librerías podemos utilizar

Configuramos además el tema de los gráficos para que tengan un aspecto más limpio y más fácil de exportar en formato pdf o word. Para ellos utilizamos la función theme_set().

Todas las ventanas de código tienen disponible un botón de copiar para poder incrustar el texto en nuestro propio documento de trabajo.


Javier Morales, email: j.morales@.umh.es.

Mª Asunción Martínez, email: am.mayoral@umh.es.