1. Introducción a R
1.1 Operadores de R
En ocasiones, como veremos más adelante, hay que utilizar algún operador al trabajar con R. Los más usuales son los siguientes:
- Aritméticos:
- Suma:
+
- Diferencia:
-
- Producto:
*
- División:
/
- Potencia:
^
- Suma:
- Comparativos:
- Igualdad:
==
- Distinto:
!=
- Menor que:
<
- Mayor que:
>
- Menor o igual:
<=
- Mayor o igual:
>=
- Igualdad:
- Lógicos:
- Y lógico:
&
- No lógico:
!
- Y lógico:
1.2 Introducción directa de datos
Se realiza a través de Datos -> Nuevo conjunto de datos. A continuación, tras darle nombre al conjunto de datos que se va a crear, aparece una especie de hoja de cálculo donde se nombran las variables y se introducen los datos.
Ejercicio: Introducir la siguiente información relativa a un grupo de 8 personas:
Estado civil | Edad |
---|---|
soltero/a | 32 |
soltero/a | 28 |
casado/a | 41 |
separado/a | 45 |
viudo/a | 52 |
casado/a | 62 |
casado/a | 35 |
separado/a | 40 |
Para guardar los datos introducidos seleccionar Datos -> Conjunto de datos activo -> Guardar el conjunto de datos activos. A continuación le damos un nombre (con extensión .RData) y un directorio donde se almacenará.
1.3 Trabajar con un archivo ya existente
Podemos acceder a ficheros bastante más amplios e interesantes creados previamente a través de Datos -> Cargar conjunto de datos, a través de Datos -> Importar datos o a través de Datos -> Conjunto de datos en paquetes (son conjuntos de datos que vienen con la instalación de R y que pueden ser utilizados).
En moodle están colgados dos archivos con los mismos datos pero con distinto formato. En primer lugar los descargamos de moodle y los guardamos en el escritorio, por ejemplo. El archivo world95 es un archivo de SPSS por lo que para abrirlo desde R habría que importarlo. El archivo Rworld95 es un archivo de R por lo que se puede cargar directamente.
Observación: Los datos denotados por NA son datos no disponibles o perdidos (non available).
1.4 Filtrar el conjunto de datos activo
A través de Datos -> Conjunto de datos activo se puede gestionar el conjunto de datos activo. Una de las opciones es Filtrar el conjunto de datos activo. Con esta opción podemos extraer del archivo los datos que nos interesen para trabajar, guardándose en un nuevo conjunto de datos.
Ejemplo: Queremos extraer los datos de la variable densidad (nº de habitantes por km2) de los países de Europa Oriental. Para ello seleccionamos Datos -> Conjunto de datos activo -> Filtrar el conjunto de datos activo. Desmarcamos Incluir todas las variables, seleccionamos la variable densidad y en Expresión de selección escribimos región=="Europa Oriental"
(entre comillas al no ser un número) y le damos nombre al nuevo conjunto de datos, por ejemplo, filtrado1.
Ejercicio: Extraer todos los datos de los países con tasa de mortalidad (tasa_mor) inferior a 10.
Ejercicio: Extraer los datos de las variables alfabfem y alfabmas (tasa de alfabetización femenina y masculina, respectivamente) de los países que no son de la región OCDE y cuyo porcentaje de habitantes en ciudades (urbana) es al menos 50.
1.5 Calcular una nueva variable
A través de Datos -> Modificar variables del conjunto de datos activo se puede realizar modificaciones en los datos. Nos centraremos ahora en una de las opciones disponibles: Calcular una nueva variable, que permite obtener nuevas variables a partir de las existentes. Las otras opciones de este menú las iremos conociendo y utilizando en otras prácticas.
Ejemplo: Queremos calcular la diferencia entre la esperanza de vida femenina (espvidaf) y masculina (espvidam). Para ello seleccionamos Datos -> Modificar variables del conjunto de datos activo -> Calcular una nueva variable. Tras darle nombre a la nueva variable, por ejemplo dif_ev, introducimos en Expresión a calcular la definición de tal variable, en este caso será espvidaf-espvidam
.
Aceptando se obtiene la nueva variable en la última columna de la tabla de datos.
1.6 Estadística descriptiva de una variable: tablas de frecuencias y gráficos para datos no agrupados en intervalos
A través de Estadísticos -> Resúmenes -> Distribución de frecuencias podremos construir una tabla de frecuencias de una o varias variables. Por ejemplo, construir tablas de frecuencias para las variables región y clima. Observamos que se construye también una tabla de porcentajes para cada variable.
Mediante el menú Gráficas -> Gráfica de barras y el menú Gráficas -> Gráfica de sectores podemos obtener, respectivamente, gráficas de barras y de sectores para las variables anteriores. Los gráficos aparecen en la ventana «R-Graphics».
Si queremos una tabla de frecuencias o un gráfico de barras o de sectores para una variable numérica, ésta hay que convertirla previamente en una variable cualitativa a través de Datos -> Modificar variables del conjunto de datos activo -> Convertir variable numérica en factor. Al realizar este procedimiento conviene guardar la nueva variable con otro nombre para conservar la variable numérica original.
Por ejemplo, construir una tabla de frecuencias y gráficos de barras y sectores para la variable calorías (ingesta diaria de calorías) tras convertirla en una variable factor de nombre factorcalorías. Observamos que ni la tabla ni los gráficos obtenidos son adecuados. Ello es debido a que la variable calorías presenta una gran cantidad de valores distintos por lo que para estudiarla adecuadamente habría que agruparla en intervalos de valores. En la próxima práctica veremos cómo hacerlo.
Si se desea generar un informe de los ejercicios realizados en la práctica, seleccionamos Fichero -> Guardar el fichero R Markdown como… y, una vez hecho esto, elegimos la carpeta donde se guardará el informe así como el nombre de éste y el tipo (Archivos tipo R Markdown). Finalmente, en la pestaña R-Markdown pulsamos el botón Generar informe. Nótese que es posible añadir comentarios al informe escribiendo en la propia ventana de la pestaña R-Markdown.
2. Práctica 2
Trabajaremos también en esta práctica con el archivo Rworld95.
2.1 Estadística descriptiva de una variable: tablas de frecuencias y gráficos para datos agrupados en intervalos
El gráfico adecuado en este caso es el histograma, obtenido al agrupar en intervalos los valores de la variable.
Tras un análisis previo, decidimos agrupar en 5 intervalos de igual amplitud comenzando en 1500 y terminando en 4000. Tendremos pues intervalos de amplitud 500.
Histograma
Para construir el histograma, primero dibujamos el que se obtiene por defecto seleccionando Gráficas -> Histograma y eligiendo la variable para el gráfico. Ahora si queremos reflejar la agrupación anterior debemos modificar, en la ventana instrucciones (R-Script), la instrucción correspondiente cambiando breaks="Sturges"
por breaks=c(1500,2000,2500,3000,3500,4000)
. A continuación seleccionamos toda la instrucción modificada (toda la línea que ocupa) y pulsamos el botón Ejecutar.
Para obtener una tabla de frecuencias que refleje la agrupación que hemos elegido podemos hacerlo de las dos formas que indicamos a continuación.
Tabla de frecuencias mediante resúmenes numéricos
A través de Estadísticos -> Resúmenes -> Resúmenes numéricos y marcando en Estadísticos la opción Recuentos de frecuencias, se construye una tabla de frecuencias de nuestra variable numérica con una determinada agrupación en intervalos, como ocurre con el histograma, pero podemos adaptarlos a nuestro caso añadiendo la expresión breaks=c(1500,2000,2500,3000,3500,4000)
como argumento de la instrucción correspondiente:
binnedCounts(Rworld95[,"calorías", drop=FALSE],breaks=c(1500,2000,2500,3000,3500,4000))
A continuación, ejecutamos la instrucción modificada.
Tablas de frecuencias mediante recodificación previa de la variable
A través de Datos -> Modificar variables del conjunto de datos activos -> Recodificar variables vamos a crear una nueva variable que refleje la agrupación en intervalos que necesitamos. Elegimos la variable calorías para recodificarla y asignamos nombre a la nueva variable, por ejemplo ingcalr.
A la hora de recodificar variables, la información relativa a la codificación de los valores se debe indicar en el apartado Introducir directrices de recodificación en la forma valor antiguo = valor nuevo. Si los valores antiguos o nuevos son cadenas de caracteres se pondrán entre comillas. En este caso, los rangos de valores para la construcción de los intervalos se consideran como valores antiguos y se deben escribir en la forma: extremo izquierdo del intervalo:extremo derecho del intervalo. Como valores nuevos asignaremos, por ejemplo, los puntos medios de los intervalos. Así pues, nuestras directrices de recodificación son:
1500:2000=1750
2000:2500=2250
2500:3000=2750
3000:3500=3250
3500:4000=3750
Observación: Al realizar la recodificación anterior (con los intervalos en ese orden), R considera el primer intervalo cerrado y el resto los considera abiertos por la izquierda y cerrados por la derecha. En general, al hacer una recodificación en intervalos, si un valor es extremo de dos intervalos, se cuenta en el primer intervalo que hayamos introducido en la directrices de recodificación.
Para la nueva variable, construir la tabla de frecuencias, así como el diagrama de barras y de sectores.
Observación: A través de Datos -> Modificar variables del conjunto de datos activo -> Segmentar variable numérica se pueden agrupar los datos de una variable numérica en intervalos de valores, pero este procedimiento no sustituye al que hemos realizado antes, ya que aunque se pueda elegir, como en el histograma, que se haga mediante intervalos iguales (equidistantes), no se puede indicar en qué valor ha de comenzar la segmentación. Para comprobarlo hacer la segmentación en 5 intervalos equidistantes de la variable calorías seleccionando rangos en el apartado nombres de niveles y construir a continuación una tabla de frecuencias de esa nueva variable para observar la segmentación realizada.
2.2 Estadística descriptiva de una variable: medidas descriptivas
A través de Estadísticos -> Resúmenes -> Conjunto de datos activo obtenemos un resumen del conjunto de datos activo en el que se muestran:
- Para las variables cuantitativas: mínimo, primer cuartil, mediana, media, tercer cuartil, máximo y número de datos perdidos.
- Para las variables cualitativas: nombres de las modalidades de la variable con su respectiva frecuencia absoluta y también el número de datos perdidos.
El cálculo de las principales medidas descriptivas de una variable numérica lo realizaremos a través de Estadísticos -> Resúmenes -> Resúmenes numéricos. A continuación, se elige(n) la(s) variable(s) bajo estudio y se seleccionan las medidas (estadísticos) que interesen. Se tiene además la posibilidad de obtenerlas según las modalidades definidas por otra variable.
Observación: La desviación típica y la varianza que calcula R se corresponden con la cuasi desviación típica y la cuasivarianza definidas en los apuntes de Estadística Descriptiva. En lo que sigue, cuando se solicite calcular desviación típica o varianza de una variable, nos referimos a las calculadas por R. Respecto a los coeficientes de asimetría y apuntamiento, los que se corresponden con los de los apuntes son los de tipo 1.
Ejercicio: Calcular e interpretar las siguientes medidas descriptivas de las variable calorías: media, mediana, moda1, cuartiles, percentil 30 (equivalentemente, cuantil 0.3), desviación típica, varianza, coeficiente de variación, mínimo, máximo, asimetría y apuntamiento.
Los resultados que se obtienen son:
Media=2753.827. Desviación típica=567.8277. Varianza=322428.3.
Coeficiente de variación=0.2061959. Como está entre 0.1 y 0.3, la media de la variable calorías es moderadamente representativa.
Mediana=Percentil 50=2653. Por tanto, el 50% de los datos de la variable calorías son menores o iguales que 2653, es decir, el 50% de los países tiene una ingesta diaria de calorías menor o igual que 2653.
Percentil 30=2316.2. Por tanto, el 30% de los datos de la variable calorías son menores o iguales que 2316.2.
Cuartiles. El segundo cuartil es la mediana. El primer cuartil es el percentil 25 cuyo valor es 2256 y el tercero es el percentil 75, que es 3226. Así pues, el 25% de los datos de la variable calorías son menores o iguales que 2256 y el 75% de los datos de la variable calorías son menores o iguales que 3226.
Moda. Según la tabla de frecuencias de la variable calorías sin agrupar, la moda es 2375 porque es el valor que se repite más veces aunque es más adecuado utilizar la agrupación de la variable en intervalos y decir que la moda está en el intervalo (2000,2500] ya que ese es el intervalo de mayor altura en el histograma.
Coeficiente de asimetría=0.1670104. Al ser mayor que 0, se tiene que la gráfica de la variable calorías es sesgada a la derecha.
Coeficiente de apuntamiento=1.206553. Al ser menor que 0, se tiene que la gráfica de la variable calorías es menos apuntada que la gráfica de la Normal con esa media y esa varianza.
Mínimo=1667. Máximo=3825.
Diagrama de caja (y bigotes)
El diagrama de caja (y bigotes) es un gráfico que se construye a partir de los cuartiles y en el que se puede observar cómo se distribuyen los datos así como la existencia o no de valores atípicos. Por ejemplo, construir el diagrama de caja de las variables calorías y mortinf (mortalidad infantil).
1Para obtener la moda de una variable cuantitativa hay que obtener su distribución de frecuencias
3. Práctica 3
Estadística descriptiva de varias variables
En esta práctica veremos algunas herramientas descriptivas para estudiar conjuntamente varias variables y buscar relaciones entre ellas. Trabajaremos con el fichero R employee data, que contiene información acerca de los empleados de una empresa sobre los que se observan las siguientes variables:
sexo: refleja si el empleado es hombre o mujer.
educ: nivel educativo.
catlab: categoría laboral del empleado.
salario: salario actual del empleado.
salini: salario del empleado al ingresar en la empresa.
tiempemp: antigüedad del empleado en la empresa (en meses).
expprev: experiencia del empleado antes de ingresar en la empresa (en meses).
Nos va a interesar también en esta práctica calcular una nueva variable que indique la proporción, respecto del salario inicial, del aumento salarial de cada empleado. El nombre y expresión de esta variable es:
aumento = (salario – salini) / salini
3.1 Coeficiente de correlación lineal y gráfica XY
Para estudiar si dos variables numéricas están relacionadas podemos calcular el coeficiente de correlación lineal de Pearson y/o dibujar la nube de puntos asociada a ese par de variables.
Mediante Estadísticos -> Resúmenes -> Matriz de correlaciones podemos calcular el coeficiente de correlación entre los pares de variables numéricas que hay en el archivo.
La gráfica XY (o nube de puntos) complementa la información obtenida por el coeficiente de correlación. Se obtiene a través de Gráficas -> Gráfica XY. La variable explicativa es la que se coloca en el eje X, mientras la variable explicada se coloca en el eje Y. Si elegimos además una variable cualitativa en el campo Condiciones o en el campo Grupos obtenemos un gráfico XY de las variables X e Y para cada una de las modalidades de la variable elegida, con la diferencia de que en el primer caso los gráficos se representan en distintos ejes y en el segundo sobre los mismos ejes.
Observación: A través de Gráficas -> Diagrama de dispersión obtenemos también gráficas XY con la posibilidad de dibujar, entre otras opciones, la recta de mínimos cuadrados.
Ejercicios:
- ¿Cuál es el coeficiente de correlación lineal de Pearson entre salario y salini? ¿y entre expprev y tiempemp? Representar la gráfica XY de cada una de estas parejas de variables y observar que la gráfica se corresponde con los valores obtenidos de los coeficientes de correlación.
- Utilizar una gráfica XY para estudiar la relación entre el aumento de salario y la antigüedad en la empresa en cada categoría laboral.
3.2 Resúmenes numéricos e histogramas por grupos
Como comentamos en la práctica anterior, mediante Estadísticos -> Resúmenes -> Resúmenes numéricos podemos calcular medidas descriptivas de una o varias variables numéricas, con la posibilidad de obtenerlas según las modalidades definidas por una variable cualitativa, que elegimos en Resumir por grupos.
Ejercicio: Calcular la media, la desviación típica, el coeficiente de variación, la asimetría, el apuntamiento y los cuartiles de las variables numéricas del archivo según la variable catlab y comparar los resultados obtenidos.
Además de hacer resúmenes numéricos por grupos, para estudiar una variable numérica según las modalidades definidas por una variable cualitativa podemos representar y comparar los correspondientes histogramas de porcentajes.
Ejercicio: Representar y comparar los histogramas de porcentajes de la variable expprev según la variable catlab.
3.3 Tabla de estadísticas y gráfica de las medias
Si queremos calcular medidas descriptivas de variables numéricas según una o más variables cualitativas o factores, elegimos Estadísticos -> Resúmenes -> Tabla de estadísticas.
Ejercicios:
- Obtener el aumento mediano de salario los empleados según las variables sexo y educ.
- Tras convertir la variable tiempemp en un factor de nombre factor tiempemp, obtener el aumento medio de salario de los empleados según el sexo y la antigüedad en la empresa.
La última tabla obtenida es difícil de interpretar debido a la cantidad de valores que presenta la variable factortiempemp. Podemos obtener una representación gráfica de la información contenida en esta tabla que nos permita «visualizar» fácilmente dicha información. Para ello seleccionamos Gráficas -> Gráfica de las medias. En Factores seleccionamos factor tiempemp y sexo, y como variable explicada elegimos aumento. Por último, marcamos sin barras de errores y tenemos el gráfico que representa a la tabla del ejercicio 2 anterior.
3.4 Tablas de contingencia
Para el estudio conjunto de dos o más variables cualitativas se utiliza una tabla de contingencia.
Supongamos que estamos interesados en conocer cómo se reparten los empleados de esta empresa, no sólo según su categoría laboral (catlab), sino también según su nivel educativo (educ). Para ello seleccionamos en el menú Estadísticos -> Tablas de contingencia -> Tabla de doble entrada. En el espacio Variable de fila elegimos una de las dos variables, por ejemplo educ y en el espacio Variable de columna la otra, en nuestro caso, catlab. A continuación, seleccionamos la opción Sin porcentajes y desmarcamos la opción Test de independencia Chi-cuadrado. Si quisiéramos hacer el estudio para un subconjunto de empleados, lo indicaríamos en Expresión de selección, pero no es nuestro caso.
El número que aparece en cada celda representa la cantidad de empleados que verifican a la vez las condiciones dadas por su fila y su columna. Si lo que nos interesa es el porcentaje de empleados que corresponden a cada casilla, al realizar la tabla debemos marcar la opción Porcentajes totales.
Si en lugar de buscar cómo se distribuyen los empleados según ambas variables queremos ver, por ejemplo, cómo se distribuye el nivel Educativo dentro de cada una de las categorías laborales, el procedimiento es análogo, pero seleccionamos la opción de Porcentajes por columnas, ya que la variable Categoría laboral la pusimos en el espacio Variable de columna. Una vez hecho esto, obsérvese que los tantos por ciento por columnas suman 100% y que en la casilla catlab: Administrativo, y educ: 8 aparece un 11%, lo que significa que el 11% de los administrativos tienen nivel educativo 8. De forma análoga, se puede estudiar cómo se distribuye la categoría laboral según el nivel educativo seleccionando en este caso Porcentajes por filas.
Ejercicio: A partir de las tablas construidas, responder a las siguientes preguntas:
- ¿Cuántos administrativos tienen nivel educativo menor que 15?
- ¿Cuántos empleados tienen nivel educativo menor que 15?
- ¿Qué porcentaje de empleados tienen nivel educativo 12 y son de seguridad?
- ¿Qué porcentaje de directivos tienen nivel educativo mayor que 19?
- ¿Qué porcentaje de empleados de nivel educativo 12 son administrativos?