Está en la página 1de 5

Data visualization

Fuente: https://hranalyticslive.netlify.com

El archivo original es de Excel, y se llama ActividadCaso2.xlsx. La copiamos en la carpeta ‘SOPA


2019’ ya creada. Se trata de una base de datos de HR, compuesta por 13029 registros de los
campos siguientes:

En Excel se puede abrir, filtrar y manipular. También se lo puede graficar y hacer resúmenes
estadísticos, aunque no es la mejor herramienta para hacerlo. Vamos a hacerlo con R.

En la consola de RStudio, escribo:


setwd()

Copio la ruta completa de la carpeta en donde está el archivo y la pego entre los paréntesis del
último comando en RStudio. Antes de darle ENTER, pongo doble comillas y cambio las barras \
por las simétricas /, para que quede, por ejemplo:
setwd("G:/Mi unidad/People Analytics/SOPA ITBA 2019/Clases/Data Visualization")

Ahora sí, ENTER. Lo verifico, escribiendo


getwd()

Me debe devolver la ruta completa, coincidente con la localización de la carpeta.

Descargo el paquete readxl, que es en donde está la función que me interesa para poder leer
archivos de Excel desde R:
install.packages("readxl")

Ahora lo cargo en RStudio:


library("readxl")

Si quiero saber qué paquetes están ya instalados, escribo:


(.packages())
Y muestra los nombres correspondientes.

Creo una variable nueva AC2.E y allí guardo el archivo de Excel que leo con R.
AC2E <- read_excel("ActividadCaso2.xlsx")

mode(AC2E)

487456862.docx ATDZ - 17/08/20 1 de 5


El resultado es que el objeto AC2.E es un objeto tipo ‘list’. La dimensión de ese objeto se
averigua escribiendo:

dim(AC2E)

El resultado es un vector numérico, cuya primera componente es el número de filas del objeto,
y el segundo, la cantidad de columnas. Así, para este caso, el programa devolverá:

Esto es: el objeto AC2E comprende 13029 filas y 11 variables.

Si se escribe en la línea de comando el objeto AC2E en R, el resultado que devuelve el


programa es poco amigable a la vista:

AC2E

Entonces vamos a usar algunas funciones especiales que vienen con algunos paquetes, que
permiten visualizar mejor este conjunto de datos y poder jugar con ellos.

¿Cómo se llaman las variables que contiene este conjunto de datos? Escribimos en la línea de
comando de RStudio, cuyo resultado serán las etiquetas de las variables del objeto AC2E:
variable.names(AC2E)

Ahora miro la variable Nivel_formacion, que muestra cuál es la máxima titulación


alcanzada por cada individuo. La leo directamente desde R:
AC2E$Nivel_formacion

El programa devuelve los primeros 1000 registros y trunca la vista de resultados de ahí en
adelante.

Si por alguna razón me interesara ver los primeros 15 registros, se puede escribir:
AC2E$Nivel_formacion[1:15]

Hay otras formas para ver qué valores tienen las columnas. Por ejemplo:
AC2E[,"Cantidad_de_hijos"]

487456862.docx ATDZ - 17/08/20 2 de 5


Cuando se puso variable.names(AC2E) esta variable aparecía en la séptima posición, con lo
cual estaremos visualizando lo mismo si lo escribimos de esta otra forma:

AC2E[,7]

En esta primera, le pedimos al programa que muestre todas las filas de la columna 7 (variable
“Cantidad_de_hijos”) utilizando los corchetes. La primera posición dentro del corchete
corresponde a las filas (como está en blanco, el programa interpreta que son todas), y la
segunda, a las columnas. En ambos casos, al presentar los valores, su visualización queda
truncada.

Estos formatos andan bien para pocos datos, no para más de 13000.

¿Hay maneras de pedirle a R que presente los datos de forma más amigable? Sí, claro.

Instalamos un paquete, el dplyr, que tiene unas funciones ya programadas que permiten
mirar los conjuntos de datos en otras presentaciones. Luego, lo cargamos:
install.packages("dplyr")

library("dplyr")

Ese paquete permite utilizar la siguiente función, con la que le pedimos a R que nos muestre
aquellos registros que tengan el nivel de formación universitario completo (Uni com) de la
base de datos:
UniCom <- AC2E %>%
filter(Nivel_formacion == "Uni com")

El resultado es un ‘tibble’, que es una variante de los data.frames, que lo vemos así:
UniCom

Este objeto se compondrá, entonces, de 3310 filas y 11 columnas:


dim(UniCom)

Utilizando la función View (contenida en el paquete dplyr), la vista de los datos es más
agradable que en los casos anteriores. El programa devuelve el resultado en la ventana que
aparece por encima de la de la consola, y que tiene un formato parecido al de grilla de filas y
columnas que tiene el Excel:
View(UniCom)

487456862.docx ATDZ - 17/08/20 3 de 5


También podemos ver de a una variable a la vez escribiendo, por ejemplo:
View(UniCom[,2])

Con esta función podemos ver el contenido, pero no podemos modificar ninguno de los
valores de los registros. Tampoco podemos hacerlo si usamos la función edit(), definiendo una
variable nueva (p. ej. UniCom.2):
UniCom.2 <- edit(UniCom)

A continuación, se nos abre una ventana del más allá, pero con el formato del ‘Editor de
datos’, que nos muestra los datos de manera amigable:

Para probar cómo funciona, por ejemplo, cambiamos el género del primer registro escribiendo
‘CCCP’ y luego cerramos el editor de datos:

487456862.docx ATDZ - 17/08/20 4 de 5


¿Y ahora cómo vemos cómo quedaron los datos? Usamos cualquiera de las dos formas que ya
vimos. Por ejemplo, con:
View(Uni.Com2)

O también mediante:
edit(Uni.Com2)

Si quieremos restaurar el valor original de esa celda, hacemos:


UniCom.2[1,"Genero"] <- "Mujer"

Lo verificamos, preguntando de nuevo el valor de esa celda:


UniCom.2[1,"Genero"]

Luego de lo cual, nos devuelve el resultado cambiado (“Mujer”).

487456862.docx ATDZ - 17/08/20 5 de 5