Aprendizajes Esperados:

Al finalizar con éxito esta práctica serás capaz de:
1. Construir diagramas de barras para variables cualitativas utilizando R
2. Construir diagramas de barras comparativos para dos o más variables cualitativas utilizando R.

Primera parte

Generando Variables
Suponga que desea elaborar un diagrama de barras para la siguiente información (Vea la información completa Acá):

…En efecto, según este relevamiento, el año pasado el Poder Ejecutivo erogó 3,133 millones de pesos en difundir sus actos de gestión, un 7% más en términos nominales que en 2016 si se miden con respecto a la inflación del año pasado.
Esta cifra incluye los recursos que manejaron la Jefatura de Gabinete ($2,163 millones) y la Anses ($256 millones), como también organismos descentralizados como el PAMI ($76 millones), el Banco Nación ($222 millones) y la AFIP ($117 millones). Asimismo, están contemplados los casi $300 millones que el Gobierno destinó a espacios de publicidad por medio del canje que acordó con aquellas empresas mediáticas que tienen deudas fiscales y previsionales con el Estado…

El primer paso para elaborar el diagrama es definir las variables adecuadas. Esto se hace en la siguiente porción de código. En la primera línea se almacena en la variable datos los valores 2163,299, 256,222, 117 y 76, que corresponden a las cantidades erogadas, haciendo uso de la función c( ). En la segunda línea se almacena en la variable categorias los nombres de las dependencias que erogaron los recursos. Si el nombre de la categoría es muy largo puede dividirlo como se indica para las categorías “Jefatura de Gabinete” y “Banco Nación”. Note la correspondencia que existe entre los valores numéricos y las dependencias. Copie el siguiente código y ejecútelo.

datos <- c(2163,299,256,222,117,76) 
categorias <- c("Jefatura de \n Gabinete", "Otros", "ANSES", "Banco \n Nación", "AFIP","PAMI")

Construcción del diagrama de Barras
En la siguiente porción de código hace uso de la función barplot() para generar un grafico de barras. Al interior de los paréntesis se incluyen algunos parámetros del gráfico como: la variable a graficar, los nombres de las categorías, los límites del eje y, el título del gráfico, la leyenda de los ejes y el color. Copie el siguiente código y péguelo en la ventana de comandos a continuación del que ya ha pegado. Ejecute el código.

barplot(datos, names.arg = categorias, ylim=c(0,2500), main="Recursos Publicitarios", xlab="", ylab="Millones de Pesos", col="RoyalBlue")

Diagrama de Barras Horizontal
En algunas ocasiones necesitaremos colocar el diagrama horizontal. Esto se logra con el parámetro horizontal = TRUE. Por supuesto que habrá que modificar los parámetros correspondientes a los ejes. Copie el siguiente código y ejecútelo.

barplot(datos, names.arg = categorias, xlim=c(0,2500), main="Recursos Publicitarios", ylab="", xlab="Millones de Pesos", col="RoyalBlue",horiz=TRUE,las=2)

Intente modificar los parámetros de la función barplot() hasta que le resulten familiares. Por ejemplo vea el efecto de cambiar el valor del parámetro las=2 a 0,1,2 y 3.

Segunda parte

Diagrama de barras comparativo
Suponga que desea analizar la evolución de la Pauta en Internet y Prensa Gráfica para los años 2015 y 2017. En el año 2015, la pauta para Internet fue de 3.8% y de 31% para la Prensa Gráfica. En el año 2017, la pauta para internet fue de 7.8% y de 17.1% para la Prensa Gráfica. Para construir un diagrama de barras que me permita comparar ambos años procedemos de la siguiente manera:

  1. Guardamos en la variable vector los valores de la pauta para ambos años de la siguiente manera:
vector <- c(3.8, 7.8, 31, 17.1)
  1. Generamos una matriz a partir de este vector. Le agregaremos dos filas (para los dos años a analizar) y dos columnas (para los dos medios a considerar)
matriz <- matrix(vector, nrow = 2, ncol = 2)

A este nivel, si visualizamos la matriz lucirá de la siguiente manera:

matriz
##      [,1] [,2]
## [1,]  3.8 31.0
## [2,]  7.8 17.1

Note que las filas y columnas no tienen nombres, así que el siguiente paso es nombrarlas. 3. Agregamos los rótulos de filas y columnas a la matriz. Las columnas corresponden a los medios y las filas a los años. Esto se hace con el siguiente código:

colnames(matriz) <- c("Internet", "Prensa Gráfica")
rownames(matriz) <- c("2015", "2017")

Ahora la matriz luce de la siguiente manera:

matriz
##      Internet Prensa Gráfica
## 2015      3.8           31.0
## 2017      7.8           17.1
  1. Con la información en este formato usamos nuevamente la función barplot() con un nuevo argumeto: height que se fija con el valor de la matriz. El argumento beside fijado en TRUE coloca las barras una a la par de la otra (en FALSE las apila una sobre otra); legend.text fijado en TRUE imprime un indicador para diferenciar los años por medio de los colores.
barplot(height = matriz, beside = TRUE,las=1,legend.text = TRUE, col=c("#BDC3C7", "#E5E7E9"), ylim=c(0,35), ylab = "Pauta en %")

Es común encontrar estos gráficos comparativos con las barras apiladas. Esto se logra fijando el parámetro beside en FALSE. Modifique este parámetro y vea su efecto en el gráfico.

Tercera parte

Trabajando con datos en bruto
Por lo general los datos que se desean graficar se encuentran almacenados en una base de datos y por lo tanto la información primero debe extraerse de la base y luego elaborar con ella el gráfico correspondiente. Para mostrar este procedimiento en el caso de variables cualitativas usaremos una base de datos mtcars que ya esta implementada en RStudio. Los datos se extrajeron de la revista estadounidense Motor Trend de 1974 y comprenden el consumo de combustible y 10 aspectos del diseño y rendimiento del automóvil para 32 automóviles (modelos 1973–74).El procedimiento a seguir es el siguiente.

  1. El primer paso para interactuar con los datos es visualizarlos. Ejecute el siguinte código en RStudio. La primera línea despliega el contenido de la base de datos en la consula. La segunda línea carga la función attach que permite acceder a los nombres de las variables (columnas) en la base de datos.
data(mtcars)
attach(mtcars)

La variable que usaremos es cyl que indica el número de cilindros de los autos.

  1. Usamos la función table( ) para generar una tabla de contingencia o resumen de esta variable. Ejecute el siguiente código.
table(cyl)
## cyl
##  4  6  8 
## 11  7 14

La interpretación de la tabla es la siguiente. Existen tres categorías de cilindros: 4, 6 y 8. Además, hay 11 carros de 4 cilindros, 7 de 6 y 14 de 8 cilindros. Con esta información se generará el gráfico de barras.

  1. Ejecute el siguiente código para generar el gráfico
No_cilindros <- table(cyl)
barplot(No_cilindros, main = "Número de cilindros \n Frequencia absoluta",
        col = c("#EEE5DE", "#CDC5BF", "#8B8682"))

Si desea utilizar las frecuencias relativas puede hacer uso de la funció n prop.table( ) que resume la información como frecuencias relativas. Verifique el funcionamiento del siguiente código. Note el uso de la función rainbow() para cambiar los colores.

barplot(prop.table(No_cilindros) * 100, main = "Frequencia relativa (%)",
        col = rainbow(3))

Algunas veces se desea colocar gráficos juntos. Verifique el funcionamiento del siguiente código.

par(mfrow = c(1, 2)) 
# Gráfico de barras de frecuencia absoluta
barplot(No_cilindros, main = "Frequencia absoluta",
        col = rainbow(3))

# Gráfico de barras de frecuencia relativa
barplot(prop.table(No_cilindros) * 100, main = "Frequencia relativa (%)",
        col = rainbow(3))