library(readxl)Warning: package 'readxl' was built under R version 4.2.3
velocidades <- read_excel("32 - Airport Data Speeds.xlsx")El conjunto de datos “velocidades de datos en aeropuertos” lista las velocidades de transferencia de datos
Medidos por la compañía RootMetrics - En 50 aeropuertos de EUA.
Considera las 4 principales compañias proveedoras del servicio (Verizon, Sprint, AT&T y T-Mobile)
La unidad de medida es unidades de megabits (1 millón de bits) por segundo (Mbps)

El análisis del gráfico sugiere que Verizon tiene el mejor desempeño global, con velocidades de datos que tienden a ser más altas que de las otras tres compañías.
¿Es correcta esta interpretación? ¿Por qué podría ser subjetiva?
Replica la gráfica descargando el conjunto de datos https://media.pearsoncmg.com/aw/aw_triola_elemstats_13_2018/datasets/Excel.zip
Carga la base de datos
library(readxl)Warning: package 'readxl' was built under R version 4.2.3
velocidades <- read_excel("32 - Airport Data Speeds.xlsx")Utiliza un gráfico de puntos
# Carga librería
library (ggplot2)
# Conoce tus datos
summary(velocidades) AIRPORT CODE VERIZON SPRINT AT&T
Length:50 Min. : 0.8 Min. : 0.20 Min. : 2.20
Class :character 1st Qu.: 8.4 1st Qu.: 0.50 1st Qu.: 5.15
Mode :character Median :13.9 Median : 1.60 Median : 8.65
Mean :17.6 Mean : 3.71 Mean :10.70
3rd Qu.:21.4 3rd Qu.: 3.75 3rd Qu.:13.22
Max. :77.8 Max. :30.40 Max. :37.40
T-MOBILE
Min. : 0.700
1st Qu.: 4.775
Median : 9.700
Mean :10.988
3rd Qu.:15.825
Max. :27.300
# Renombra
names(velocidades)[names(velocidades) == "AIRPORT CODE"] <- "airport"
names(velocidades)[names(velocidades) == "AT&T"] <- "ATT"
names(velocidades)[names(velocidades) == "T-MOBILE"] <- "TMOBILE"
# Convierte a data frame
#velocidades<-data.frame(velocidades)
# Convierte la variable airport en nombre de fila
rownames(velocidades)<-velocidades$airport
velocidades<-subset(velocidades,select=-airport)
# Grafica
stripchart(velocidades,xlim=c(0.700,77.8), method="jitter", ylab=("Compañias telefónicas"), pch=8)
library (gridExtra)
par(mfrow = c(4, 1))
#grid.arrange(verizon,sprint,att,tmobile, ncol=1, top="Velocidad de transferencia de datos (megabits por segundo)")La media, la mediana, la desviación estándar y la varianza se encuentran entre los datos estadísticos más importantes en el estudio de la estadística.
Permiten describir, explorar y comparar
Memorizar fórmulas o realizar cálculos manuales de aritmética no es esencial para el curso.
Es posible obtener resultados con una calculadora o software.
Lo importante es concentrarse en el sentido práctico de los resultados a través del pensamiento crítico.
Resumen o describen las características relevantes de los datos.
Medir la variación de un conjunto de datos muestrales mediante la determinación de los valores del rango, varianza y desviación estándar.
Interpretar los valores de la desviación estándar aplicando la regla práctica del rango para determinar si un valor es significativamente bajo o significativamente alto
Calcular una puntuación Z y utiliar el resultado para determinar si un valor dado x es significativamente bajo o significativamente alto
Identificar valores de los percentiles y cuartiles de un conjunto de datos.
Construir gráficas de caja a partir de un conjunto de datos.
La media, moda, mediana y mitad de rango se utilizan como medidas de tendencia central para proporcionar valores representativos que “resumen” los conjuntos de datos.
Valor en medio o en el centro de un conjunto de datos.
La media ( o moda aritmética) es la más importante de las mediciones numéricas usadas para describir datos [la mayoría de las personas le llama promedio]
La medida de tendencia central que se encuentra al sumar todos los valores de los datos y dividir el total por el número de datos.
Las medias muestrales de una misma población tienden a variar menos que otras medidas de tendencia central.
La media de un conjunto de datos utiliza todos los valores de los datos.
Una desventaja de la media es que un solo valor extremo (atípico) puede cambiar el valor de la media en forma sustancial.
Un dato estadístico es resistente si la presencia de valores extremos (atípicos) no ocasiona que éste cambie mucho.
Existen tres medidas de variación: el rango, la desviación estándar y la varianza. Es importante desarrollar la capacidad de interpretarlos y comprenderlos.
¿Los tiempos de espera con la línea única tienen menos variación que los tiempos de espera con múltiples líneas de atención?

Ambos conjuntos de tiempos de espera tienen la misma media de 100 segundos, la misma mediana de 100 segundos y la misma moda de 100 segundos.
Se cambiaron de múltiples líneas a una sola línea no porque los hiciera más eficientes, no porque los tiempos de espera de los clientes se redujeran, sino porque los clientes son más felices con tiempos de espera con menos variación.
El cambio no afectó las medidas de tendencia central, pero los bancos instituyeron el cambio para reducir la variación. Un objetivo importante de los negocios y la industria es el siguiente: Mejorar la calidad al reducir la variación.
Desviación estándar es un conjunto de valores muestrales, expresados por s, es una medida de cuánto se desvían los valores de datos de la media.

\[ u-2σ \] o inferiores
\[ u+2σ \] o superiores
\[ (u-2σ)y(u+2σ) \] Entre la media poblacional y hasta -2 desv. est y entre la media poblacional y hasta +2 desv. est.
Si se consideran las 50 velocidades de datos de Verizon listadas en el conjunto de datos “Velocidades de datos en aeropuertos”, la media es 17.59 Mbps
mean(velocidades$VERIZON)[1] 17.598
y la desviación estándar es 16.02 Mbps.
sapply(velocidades,sd) VERIZON SPRINT ATT TMOBILE
16.017127 5.598296 8.121525 7.334644
Utilice la regla práctica del rango para encontrar los límites que separan los valores significativamente bajos o significativamente altos; después determine si la velocidad de datos de 77.8 Mbps es significativamente alta.
::: {.callout-caution collapse=“true”} Con una media de 17.60 y una desviación estándar de 16.02, utilizamos la regla práctica del rango para encontrar los límites que separan los valores significativamente bajos o significativamente altos, de la siguiente manera:
Los valores significativamente bajos son (17.60 2 2 3 16.02) o inferiores. Por lo tanto, los valores significativamente bajos son 214.44 Mbps o menores.
Los valores significativamente altos son (17.60 1 2 3 16.02) o superiores. Por lo tanto, los valores significativamente altos son 49.64 o mayores.
Los valores no significativos están entre 214.44 Mbps y 49.64 Mbps.
Con base en estos resultados, esperamos que las velocidades de datos típicas en aeropuertos para Verizon estén entre –14.44 Mbps y 49.64 Mbps.
Debido a que el valor dado de 77.8 Mbps queda por encima de 49.64 Mbps, podemos considerarlo significativamente alto.
Descarga el conjunto de datos de Urdinez y Cruz https://arcruz0.github.io/libroadp/00-archivos/datos_carga_adp.zip
Realiza una visualización inicial de las variables en desiguales
library(readr)Warning: package 'readr' was built under R version 4.2.3
desiguales <- read.csv("desiguales.csv")
skimr::skim(desiguales)| Name | desiguales |
| Number of rows | 300 |
| Number of columns | 20 |
| _______________________ | |
| Column type frequency: | |
| numeric | 20 |
| ________________________ | |
| Group variables | None |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| id | 0 | 1.00 | 1380.41 | 789.91 | 34 | 704.25 | 1320.5 | 2031.25 | 2809 | ▇▇▇▆▇ |
| sexo | 0 | 1.00 | 1.61 | 0.49 | 1 | 1.00 | 2.0 | 2.00 | 2 | ▅▁▁▁▇ |
| zona | 0 | 1.00 | 1.85 | 0.36 | 1 | 2.00 | 2.0 | 2.00 | 2 | ▂▁▁▁▇ |
| macrozona | 0 | 1.00 | 2.99 | 1.06 | 1 | 2.00 | 3.0 | 4.00 | 4 | ▂▃▁▅▇ |
| region | 0 | 1.00 | 9.45 | 3.77 | 1 | 6.00 | 10.0 | 13.00 | 15 | ▁▃▅▁▇ |
| edad | 0 | 1.00 | 46.72 | 18.17 | 18 | 29.00 | 49.0 | 60.00 | 87 | ▇▅▇▆▂ |
| p1_anyo | 0 | 1.00 | 1968.58 | 18.16 | 1928 | 1956.00 | 1967.0 | 1986.25 | 1998 | ▂▆▇▅▇ |
| p1_mes | 0 | 1.00 | 6.66 | 3.59 | 1 | 4.00 | 7.0 | 10.00 | 12 | ▆▅▅▃▇ |
| p2 | 0 | 1.00 | 4.42 | 7.73 | 1 | 1.00 | 5.0 | 5.00 | 99 | ▇▁▁▁▁ |
| p3 | 0 | 1.00 | 1.88 | 1.00 | 1 | 1.00 | 2.0 | 3.00 | 9 | ▇▅▁▁▁ |
| p4 | 106 | 0.65 | 1.60 | 0.76 | 1 | 1.00 | 1.0 | 2.00 | 3 | ▇▁▃▁▂ |
| p5 | 215 | 0.28 | 1.72 | 1.01 | 1 | 1.00 | 1.0 | 2.00 | 8 | ▇▂▁▁▁ |
| p6 | 0 | 1.00 | 7.30 | 1.99 | 1 | 6.00 | 7.0 | 9.00 | 10 | ▁▁▅▇▆ |
| p7 | 0 | 1.00 | 7.89 | 2.00 | 1 | 7.00 | 8.0 | 10.00 | 10 | ▁▁▂▇▇ |
| p8 | 0 | 1.00 | 9.12 | 8.93 | 1 | 7.00 | 9.0 | 10.00 | 99 | ▇▁▁▁▁ |
| p9_1 | 0 | 1.00 | 8.28 | 5.05 | 1 | 7.00 | 8.0 | 10.00 | 88 | ▇▁▁▁▁ |
| p9_2 | 0 | 1.00 | 8.54 | 1.85 | 1 | 8.00 | 9.0 | 10.00 | 10 | ▁▁▁▃▇ |
| p9_3 | 0 | 1.00 | 8.13 | 2.02 | 1 | 7.00 | 9.0 | 10.00 | 10 | ▁▁▂▅▇ |
| p9_4 | 0 | 1.00 | 8.06 | 1.92 | 1 | 7.00 | 8.0 | 10.00 | 10 | ▁▁▂▆▇ |
| p9_5 | 0 | 1.00 | 8.16 | 1.99 | 1 | 7.00 | 9.0 | 10.00 | 10 | ▁▁▂▅▇ |
Crea una matriz de correlación de Pearson de las variables
# install.packages("ggcorrplot")
library(ggplot2)
library(ggcorrplot)Warning: package 'ggcorrplot' was built under R version 4.2.3
library(magrittr)Warning: package 'magrittr' was built under R version 4.2.2
library(tidyverse)Warning: package 'tidyverse' was built under R version 4.2.3
Warning: package 'tibble' was built under R version 4.2.3
Warning: package 'tidyr' was built under R version 4.2.3
Warning: package 'purrr' was built under R version 4.2.3
Warning: package 'dplyr' was built under R version 4.2.3
Warning: package 'stringr' was built under R version 4.2.2
Warning: package 'forcats' was built under R version 4.2.3
Warning: package 'lubridate' was built under R version 4.2.3
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.2 ✔ stringr 1.5.0
✔ forcats 1.0.0 ✔ tibble 3.2.1
✔ lubridate 1.9.2 ✔ tidyr 1.3.0
✔ purrr 1.0.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::combine() masks gridExtra::combine()
✖ tidyr::extract() masks magrittr::extract()
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
✖ purrr::set_names() masks magrittr::set_names()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
corr_selected <- desiguales %>%
select(sexo,zona,macrozona,region,edad,p1_anyo,p1_mes,p2,p3) %>%
# calcular la matriz de correlación y redondear a un decimal
cor(use = "pairwise") %>%
round(1)
ggcorrplot(corr_selected, type = "lower", lab = T, show.legend = F)
#Boxplots
boxplot(velocidades$`T-MOBILE`,velocidades$VERIZON,velocidades$SPRINT,velocidades$`AT&T`, names = c("Verizon", "Sprint", "AT&T", "T-MOBILE"),main = "Velocidades", las = 1, cex.axis = 0.5)Warning: Unknown or uninitialised column: `T-MOBILE`.
Warning: Unknown or uninitialised column: `AT&T`.
