Internet Fix Access Dashboard for Argentina

Tablero de Accesos Fijos a Internet en Argentina

Author

Martin Olmos

Published

April 12, 2022

It is possible to make a dashboard with basic data on fix access in Argentina very quickly (about 30 minutes), with open data from ENACOM, open source tools (in this case R, Plotly and Flexdashboards but there are many others) and deploy it online for free with Github Pages.

Here you can see the dashboard online (in Spanish): https://martinolmos.github.io/tablero_accesos_fijos/

And the code to acquire the data and generate the visualizations:

Fixed Accesses per 100 Households by Province

# Penetracion por provincia: accesos cada 100 hogares
pen_prov_hog <- read_csv("https://datosabiertos.enacom.gob.ar/rest/datastreams/275028/data.csv", 
                         n_max = 24, 
                         locale = locale(decimal_mark = ","))

pen_prov_hog_plot <- pen_prov_hog %>% 
  ggplot(aes(x = reorder(Provincia, `Accesos por cada 100 hogares`),
             y = `Accesos por cada 100 hogares`,
             text = Provincia)) +
  geom_col(data=pen_prov_hog, aes(x=reorder(Provincia, `Accesos por cada 100 hogares`)), fill = "red") +
  coord_flip() +
  theme_bw() +
  theme(axis.text.y = element_text(size = 6), axis.title = element_blank())

ggplotly(pen_prov_hog_plot, tooltip = c("text", "y"))

Evolution of Accesses per 100 people

# Penetración: accesos cada 100 habitantes. Serie histórica
pen_nac_hab_serie <- read_csv("https://datosabiertos.enacom.gob.ar/rest/datastreams/281491/data.csv",
                              locale = locale(decimal_mark = ","))

pen_nac_hab_serie_plot <- pen_nac_hab_serie %>% 
  ggplot(aes(x = fct_reorder(Periodo, paste0(Año, Trimestre), .desc = FALSE), 
             y = `Accesos por cada 100 hab`,
             text = Periodo)) +
  geom_point() +
  geom_line(aes(group = 1)) +
  theme_bw() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 8),
        axis.title = element_blank())

ggplotly(pen_nac_hab_serie_plot, tooltip = c("text", "y"))

Evolution of the Average Download Speed

# Velocidad Media de Descarga (Mbps) - Nacional
vmd_nac_serie <- read_csv("https://datosabiertos.enacom.gob.ar/rest/datastreams/275016/data.csv", col_names = c("Año", "Trimestre", "Velocidad Media de Descarga", "Periodo"), skip = 1,
                          locale = locale(decimal_mark = ","))

vmd_nac_serie_plot <- vmd_nac_serie %>% 
  ggplot(aes(x = fct_reorder(Periodo, paste0(Año, Trimestre), .desc = FALSE), 
             y = `Velocidad Media de Descarga`,
             text = Periodo)) +
  geom_point() +
  geom_line(aes(group = 1)) +
  labs(y = "VMD en Mbps") +
  theme_bw() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 8),
        axis.title.x = element_blank())

ggplotly(vmd_nac_serie_plot, tooltip = c("text", "y"))

Evolution of Fix Accesses by Technology

tec_nac_serie <- read_csv("https://datosabiertos.enacom.gob.ar/rest/datastreams/275029/data.csv",
                          locale = locale(decimal_mark = ","))

tec_nac_serie <- tec_nac_serie %>% 
  select(-Total) %>% 
  gather(Tecnología, Accesos, ADSL:Otros)

tec_nac_serie_plot <- tec_nac_serie %>% 
  ggplot(aes(x = fct_reorder(Periodo, paste0(Año, Trimestre), .desc = FALSE), 
             y = Accesos,
             group = Tecnología,
             color = Tecnología,
             text = Periodo)) +
  geom_line() +
  scale_y_continuous(labels = c("0", "2M", "4M", "6M")) +
  theme_bw() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 8), 
        axis.title = element_blank(), 
        legend.title = element_blank())

ggplotly(tec_nac_serie_plot, tooltip = c("text", "color", "y")) %>% 
  layout(legend = list(title = "", 
                       orientation = "h",
                       y = 1.3))