6.2 Gráfico de sectores

El gráfico de sectores se dibuja usando la función pie () en R. Esta función toma un vector de números positivos.

slices <- c(10, 12,4, 16, 8)
lbls <- c("Norteamérica", "Reino Unido", "Australia", "Alemania", "Francia")
pie(slices, labels = lbls, main="Gráfico Circular de países")

Si deseo agregarle los porcentajes:

slices <- c(10, 12, 4, 16, 8) 

lbls <- c("Norteamérica", "Reino Unido", "Australia", "Alemania", "Francia")

pct <- round(slices/sum(slices)*100)
lbls <- paste(lbls, pct) # add percents to labels 
lbls <- paste(lbls,"%",sep="") # ad % to labels 
pie(slices,labels = lbls, col=rainbow(length(lbls)),
   main="Gráfico Circular de países")

Veamos otro ejemplo. En este caso utilizamos el dataset “infert” disponible en R:

  1. Nombramos el dataset
infertility <- (infert)

View(infertility)
  1. Seleccionamos una columna de nuestro interés, por ejemplo, “parity”:
parity <- (infertility$parity)

parity
  1. Para ver el número de casos que hay para cada categoría de esta variable “parity”:
tabla.parity <- table(infertility$parity)

tabla.parity

Para analizarlo, podemos ver las categorías (primera fila) y sus respectivos números de casos totales (segunda fila). Por ejemplo, la categoría “1” posee 99 casos.

Si queremos ver cuantas categorías existen:

cat.tabla.parity <- names(tabla.parity)

cat.tabla.parity

Para saber el número de casos distintos:

num.casos.tabla.parity <- length(cat.tabla.parity)

num.casos.tabla.parity
  1. Sacamos la proporción de estos casos, ya que nuestro objetivo es obtener los porcentajes de cada categoría:
prop.tabla.parity <- prop.table(tabla.parity)

prop.tabla.parity 

Ya que las proporciones se calculan con respecto a 1, y nosotros deseamos utilizar porcentajes, debemos multiplicar por 100:

porc.tabla.parity <- round(prop.tabla.parity*100)

porc.tabla.parity
  1. Para agregarle el símbolo “%” a cada grupo, creo etiquetas:
etiqueta.tabla.parity <- paste(porc.tabla.parity, "%", sep = "")

etiqueta.tabla.parity
  1. Finalmente, utilizamos la función “pie” para generar nuestro gráfico:

pie(tabla.parity, labels = etiqueta.tabla.parity,
        col=heat.colors(num.casos.tabla.parity), 
        main="Paridad Abortos")
  1. Si deseamos agregarle una leyenda, podemos hacerlo de la siguiente manera:

legend("topright", legend = cat.tabla.parity, 
fill = heat.colors(num.casos.tabla.parity), title = "Paridad", cex = 0.5)

Recuerda que podemos guardar el gráfico clicando en “Export” en el panel inferior derecho.