Fuente de la información.

En día lunes 19 de marazo de 2018 se publicó en el periódico El Colombiano bajo el titular “Ahora también se puede ir de compara a la drogería” un informe sobre el negocio creciente de autoservicio en las drogerías y farmacias en el país.

En este artículo aparece la siguiente representación gráfica del número de establecimientos de algunas farmacias.

Gráficas para comparar.

Paquetes utilizados.

library(readxl)

Lectura de la base de datos.

resul_percep <- read_excel("compara_graficos_farmacias.xlsx")

Estructura de la base de datos.

str(resul_percep)
## Classes 'tbl_df', 'tbl' and 'data.frame':    81 obs. of  7 variables:
##  $ ID         : num  0 1 2 3 4 5 6 7 8 9 ...
##  $ Farmacenter: num  600 570 583 600 442 712 650 750 500 603 ...
##  $ Colsubsidio: num  343 300 346 400 166 402 400 670 250 352 ...
##  $ Cafam      : num  269 260 263 300 124 354 350 580 200 258 ...
##  $ Cruz Verde : num  220 180 206 200 124 319 310 460 150 213 ...
##  $ Pasteur    : num  160 140 152 100 75 379 280 310 100 170 ...
##  $ Grafica    : chr  "original" "Barras verticales" "Barras horzontales" "Circulos" ...

Algunos registros de la base de datos.

Registros iniciales.

head(resul_percep)
## # A tibble: 6 x 7
##      ID Farmacenter Colsubsidio Cafam `Cruz Verde` Pasteur Grafica         
##   <dbl>       <dbl>       <dbl> <dbl>        <dbl>   <dbl> <chr>           
## 1     0         600         343   269          220     160 original        
## 2     1         570         300   260          180     140 Barras vertical…
## 3     2         583         346   263          206     152 Barras horzonta…
## 4     3         600         400   300          200     100 Circulos        
## 5     4         442         166   124          124      75 Diagama de past…
## 6     5         712         402   354          319     379 Barras vertical…

Registros finales.

tail(resul_percep)
## # A tibble: 6 x 7
##      ID Farmacenter Colsubsidio Cafam `Cruz Verde` Pasteur Grafica         
##   <dbl>       <dbl>       <dbl> <dbl>        <dbl>   <dbl> <chr>           
## 1    75         684         442   400          300     200 Circulos        
## 2    76         442         221   205          206     110 Diagama de past…
## 3    77         590         325   275          215     170 Barras vertical…
## 4    78         583         331   258          216     182 Barras horzonta…
## 5    79         520         320   180          180      40 Diagama de past…
## 6    80         650         390   340          280     175 Barras horzonta…

Resumen de la base de datos.

Resumen inicial.

summary(resul_percep)
##        ID      Farmacenter     Colsubsidio      Cafam         Cruz Verde 
##  Min.   : 0   Min.   :242.0   Min.   :121   Min.   : 81.0   Min.   : 25  
##  1st Qu.:20   1st Qu.:560.0   1st Qu.:310   1st Qu.:258.0   1st Qu.:200  
##  Median :40   Median :610.0   Median :366   Median :299.0   Median :242  
##  Mean   :40   Mean   :608.6   Mean   :375   Mean   :306.2   Mean   :259  
##  3rd Qu.:60   3rd Qu.:663.0   3rd Qu.:420   3rd Qu.:350.0   3rd Qu.:308  
##  Max.   :80   Max.   :907.0   Max.   :794   Max.   :734.0   Max.   :694  
##     Pasteur        Grafica         
##  Min.   :  6.0   Length:81         
##  1st Qu.:122.0   Class :character  
##  Median :176.0   Mode  :character  
##  Mean   :193.8                     
##  3rd Qu.:232.0                     
##  Max.   :634.0

Cambio de tipo de la variable alfanumérica.

resul_percep$Grafica <- factor(resul_percep$Grafica)

Nuevo resumen.

summary(resul_percep)
##        ID      Farmacenter     Colsubsidio      Cafam         Cruz Verde 
##  Min.   : 0   Min.   :242.0   Min.   :121   Min.   : 81.0   Min.   : 25  
##  1st Qu.:20   1st Qu.:560.0   1st Qu.:310   1st Qu.:258.0   1st Qu.:200  
##  Median :40   Median :610.0   Median :366   Median :299.0   Median :242  
##  Mean   :40   Mean   :608.6   Mean   :375   Mean   :306.2   Mean   :259  
##  3rd Qu.:60   3rd Qu.:663.0   3rd Qu.:420   3rd Qu.:350.0   3rd Qu.:308  
##  Max.   :80   Max.   :907.0   Max.   :794   Max.   :734.0   Max.   :694  
##     Pasteur                      Grafica  
##  Min.   :  6.0   Barras horzontales  :21  
##  1st Qu.:122.0   Barras verticales   :21  
##  Median :176.0   Circulos            :18  
##  Mean   :193.8   Diagama de pastel 3D:20  
##  3rd Qu.:232.0   original            : 1  
##  Max.   :634.0

Percepción para Farmacenter.

param_ant <- par(no.readonly = TRUE)
temporal1 <- resul_percep[resul_percep$ID != 0, ]
temporal1 <- droplevels(temporal1)
valor_verdadero <- resul_percep[resul_percep$ID == 0, ]$Farmacenter
promedio <- mean(temporal1$Farmacenter)
mediana <- median(temporal1$Farmacenter)
with(temporal1, hist(Farmacenter, 
                        las = 1, 
                        nclass = 20, 
                        freq = FALSE,
                        ylim = c(0, 0.005),
                        xlim = c(200, 1000),
                        col = "lightblue",
                        xlab = "Número de locales",
                        ylab = "Densidad",
                        main = "Distribución de los puntajes para Farmacenter"))
lines(density(temporal1$Farmacenter),
      col = "deepskyblue4",
      lwd = 3)
abline(v = valor_verdadero,
       col = "firebrick4", lwd = 4)
segments(promedio, 0, promedio, 0.0045, col = "orange", lwd = 4)
segments(mediana, 0, mediana, 0.0045, col = "darkgreen", lwd = 4)
legend(200, 0.005, 
       legend = c("Valor verdadero", "Promedio", "Mediana", "Estimación de la distribución"),
       col = c("firebrick4", "orange", "darkgreen", "deepskyblue4"),
       lwd = 4,
       lty = 1)

par(param_ant)
boxplot(temporal1$Farmacenter, horizontal = TRUE, 
        col = "lightblue",
        main = "Diagrama de caja y bigotes\ndel número de establecimientos de Farmacenter")
points(promedio, 1, col = "orange", pch = 19)
points(valor_verdadero, 1, col = "firebrick4", pch = 19)
legend("topleft", legend = c("Promedio", "Valor verdadero"),
       col = c("orange", "firebrick4"),
       pch = 19)

Comparación de tipos de gráficas para una farmacia.

promedios_x_tipo_grafica <- with(temporal1,
                                 tapply(Farmacenter, Grafica, mean))

param_ant <- par(no.readonly = TRUE)
par(mar = param_ant$mar + c(5, 0, 1, 0))
with(temporal1, plot(Grafica, Farmacenter, las = 2,
                     col = "grey80",
                     ylab = "Número de establecimientos de Farmacenter",
                     xlab = "",
                     main = "Comparación de la percepción\nen diferentes tipos de gráficas"))
abline(h = valor_verdadero, col = "tomato", lwd = 3)
points(1:4, promedios_x_tipo_grafica, pch = 19, col = "blue")
legend("topleft",
       legend = c("Valor verdadero",
                  "Promedio"),
       pch = c(NA, 19),
       lty = c(1, 0),
       lwd = c(2, 0),
       col = c("tomato", "blue"))

par(param_ant)