Identificación, descripción y clasificación de las variables de acuerdo con su naturaleza

En la Tabla 1.1 se presentan, describen y clasifican las variables, de acuerdo a su naturaleza, de la base de datos que guardan relación con los objetivos iniciales planteados en este estudio de casos.


Tabla 1.1 Descripción y clasificación de las variables seleccionadas.
# Cargar las bibliotecas necesarias
library(readxl)      # Para leer archivos Excel
library(dplyr)       # Para la manipulación de datos
library(tidyr)       # Para la manipulación de datos
library(kableExtra)  # Para el formateo de tablas

# Leer el archivo de datos
data1 <- read.csv("data/Expanded_Dataset.csv", header = TRUE, sep=",")

# Seleccionar las variables de interés
variables <- data1 %>%
  select(Year,Product_Model, FG_Capability, Units_Sold, Revenue, Market_Share, Regional_Coverage, FG_Subscribers, Avg_FG_Speed, Preference_FG, Region)

# Renombrar las columnas para mayor claridad
colnames(variables) <- c("Year", "Product_Model", "FG_Capability", "Units_Sold", "Revenue", "Market_Share", "Regional_Coverage", "FG_Subscribers", "Avg_FG_Speed", "Preference_FG", "Region")

# Definir los nombres de las variables y sus descripciones
nombre_variables <- colnames(variables)
descripcion_variables <- c(
  "Año en el que se registraron los datos de ventas y adopción de la tecnología 5G.", "Modelo específico del dispositivo Samsung analizado.", "Indica si el dispositivo cuenta con tecnología 5G o no.", "Cantidad de unidades vendidas de un determinado modelo en un período específico.", "Ingresos generados por las ventas de un modelo de dispositivo. (Dolares)", "Porcentaje de participación de mercado de un modelo en comparación con otros dispositivos.", "Nivel de cobertura de la red 5G en una región determinada.(%)", "Número de usuarios que han adoptado la tecnología 5G en una región específica.(Millones)", "Velocidad promedio de la red 5G en una determinada ubicación.", "Nivel de preferencia de los consumidores por dispositivos con tecnología 5G.(%)", "Área geográfica donde se registraron los datos de ventas y adopción de 5G."
)

# Clasificación de las variables
clasificacion_variables <- c("Cualitativa ordinal", "Cualitativa nominal", "Cualitativa nominal", "Cuantitativa discreta", "Cuantitativa continua", "Cuantitativa continua", "Cuantitativa continua", "Cuantitativa continua", "Cuantitativa continua", "Cuantitativa continua", "Cualitativa nominal")

# Crear un data frame con la información estructurada
tabla_variables <- data.frame(
  Nombre = nombre_variables,
  Descripción = descripcion_variables,
  Clasificación = clasificacion_variables
)

# Generar la tabla con formato mejorado
 kable(tabla_variables) %>%
   kable_styling(bootstrap_options = c("striped"))  # Aplica un estilo con filas alternas
Nombre Descripción Clasificación
Year Año en el que se registraron los datos de ventas y adopción de la tecnología 5G. Cualitativa ordinal
Product_Model Modelo específico del dispositivo Samsung analizado. Cualitativa nominal
FG_Capability Indica si el dispositivo cuenta con tecnología 5G o no. Cualitativa nominal
Units_Sold Cantidad de unidades vendidas de un determinado modelo en un período específico. Cuantitativa discreta
Revenue Ingresos generados por las ventas de un modelo de dispositivo. (Dolares) Cuantitativa continua
Market_Share Porcentaje de participación de mercado de un modelo en comparación con otros dispositivos. Cuantitativa continua
Regional_Coverage Nivel de cobertura de la red 5G en una región determinada.(%) Cuantitativa continua
FG_Subscribers Número de usuarios que han adoptado la tecnología 5G en una región específica.(Millones) Cuantitativa continua
Avg_FG_Speed Velocidad promedio de la red 5G en una determinada ubicación. Cuantitativa continua
Preference_FG Nivel de preferencia de los consumidores por dispositivos con tecnología 5G.(%) Cuantitativa continua
Region Área geográfica donde se registraron los datos de ventas y adopción de 5G. Cualitativa nominal

En las Tablas 1.2 y 1.3 se presentan las estadísticas descriptivas de las variables cuantitativas y cualitativas seleccionadas. A partir de estas tablas, se pueden hacer las siguientes observaciones:


Tabla 1.2 Estadísticas descriptivas de las variables cuantitativas seleccionadas.
# Cargar las bibliotecas necesarias
library(dplyr)
library(e1071)  # Para calcular asimetría y curtosis
library(knitr)  # Para generar tablas con kable
library(kableExtra)  # Para mejorar el formato de las tablas

# Seleccionar solo las variables de interés
datos_generales <- data1 %>%
  select(Units_Sold, Market_Share, Avg_FG_Speed)

# Calcular estadísticas descriptivas generales para los precios
estadisticas_ventas <- datos_generales %>%
  summarise(
    Variable = "Unidades vendidas",
    Mínimo = min(Units_Sold, na.rm = TRUE),
    Máximo = max(Units_Sold, na.rm = TRUE),
    Mediana = median(Units_Sold, na.rm = TRUE),
    Media = round(mean(Units_Sold, na.rm = TRUE), 2),
    `Desviación Estándar` = round(sd(Units_Sold, na.rm = TRUE), 2),
    `Coef. de Variación (%)` = round((sd(Units_Sold, na.rm = TRUE) / mean(Units_Sold, na.rm = TRUE)) * 100, 1),
    `Primer Cuartil` = quantile(Units_Sold, 0.25, na.rm = TRUE),
    `Tercer Cuartil` = quantile(Units_Sold, 0.75, na.rm = TRUE),
    Asimetría = round(skewness(Units_Sold, na.rm = TRUE), 2),
    Curtosis = round(kurtosis(Units_Sold, na.rm = TRUE), 2)
    
  
  )

# Calcular estadísticas descriptivas generales para el Kilometraje de los vehículos
estadisticas_share <- datos_generales %>%
  summarise(
    Variable = "Market_Share",
    Mínimo = min(Market_Share, na.rm = TRUE),
    Máximo = max(Market_Share, na.rm = TRUE),
    Mediana = median(Market_Share, na.rm = TRUE),
    Media = round(mean(Market_Share, na.rm = TRUE), 2),
    `Desviación Estándar` = round(sd(Market_Share, na.rm = TRUE), 2),
    `Coef. de Variación (%)` = round((sd(Market_Share, na.rm = TRUE) / mean(Market_Share, na.rm = TRUE)) * 100, 1),
    `Primer Cuartil` = quantile(Market_Share, 0.25, na.rm = TRUE),
    `Tercer Cuartil` = quantile(Market_Share, 0.75, na.rm = TRUE),
    Asimetría = round(skewness(Market_Share, na.rm = TRUE), 2),
    Curtosis = round(kurtosis(Market_Share, na.rm = TRUE), 2)
   
  )

# Calcular estadísticas descriptivas generales para la cantidad de dueños por vehículo
estadisticas_avg <- datos_generales %>%
  summarise(
    Variable = "Avg_FG_Speed",
    Mínimo = min(Avg_FG_Speed, na.rm = TRUE),
    Máximo = max(Avg_FG_Speed, na.rm = TRUE),
    Mediana = median(Avg_FG_Speed, na.rm = TRUE),
    Media = round(mean(Avg_FG_Speed, na.rm = TRUE), 2),
    `Desviación Estándar` = round(sd(Avg_FG_Speed, na.rm = TRUE), 2),
    `Coef. de Variación (%)` = round((sd(Avg_FG_Speed, na.rm = TRUE) / mean(Avg_FG_Speed, na.rm = TRUE)) * 100, 1),
    `Primer Cuartil` = quantile(Avg_FG_Speed, 0.25, na.rm = TRUE),
    `Tercer Cuartil` = quantile(Avg_FG_Speed, 0.75, na.rm = TRUE),
    Asimetría = round(skewness(Avg_FG_Speed, na.rm = TRUE), 2),
    Curtosis = round(kurtosis(Avg_FG_Speed, na.rm = TRUE), 2)
   
  )

# Unir ambas tablas en una sola
estadisticas_generales <- bind_rows(estadisticas_ventas, estadisticas_share, estadisticas_avg)

# Generar la tabla con kable
 kable(estadisticas_generales, format = "html") %>%
   kable_styling(bootstrap_options = c("striped", "hover", "responsive"), full_width = FALSE) %>%
   column_spec(1, bold = TRUE)  # Resalta la columna de la variable analizada
Variable Mínimo Máximo Mediana Media Desviación Estándar Coef. de Variación (%) Primer Cuartil Tercer Cuartil Asimetría Curtosis
Unidades vendidas 5309.00 64883.00 33689.00 32842.99 16039.77 48.8 19327.250 43911.0000 0.04 -0.96
Market_Share -0.49 6.95 3.76 3.72 1.99 53.5 2.635 5.2825 -0.32 -0.74
Avg_FG_Speed 50.37 298.70 177.39 179.23 70.47 39.3 120.410 238.8600 -0.02 -1.12

Tabla 1.3 Estadística de las variables cualitativas seleccionadas.
# Cargar las bibliotecas necesarias
library(dplyr)
library(knitr)
library(kableExtra)

# Función para calcular la moda de una variable categórica
moda <- function(x) {
  tab <- table(x)  # Crear tabla de frecuencias
  max_freq <- max(tab)  # Encontrar la frecuencia máxima
  modas <- names(tab[tab == max_freq])  # Obtener las categorías con la frecuencia máxima
  return(paste(modas, collapse = ", "))  # Devolver la moda (o modas si hay empate)
}

# Calcular la moda para cada variable cualitativa
moda_year <- moda(data1$Year)
moda_Product_Model <- moda(data1$Product_Model)
moda_FG_Capability <- moda(data1$FG_Capability)
moda_region <- moda(data1$Region)


# Crear la tabla de resultados
tabla_moda <- data.frame(
  Variable = c("Year", "Product_Model", "FG_Capability", "Region"),
  Moda = c(moda_year, moda_Product_Model, moda_FG_Capability, moda_region)
)

# Generar la tabla con kable
 kable(tabla_moda, format = "html") %>%
   kable_styling(bootstrap_options = c("striped", "hover", "responsive"), full_width = FALSE) %>%
   column_spec(1, bold = TRUE)  # Resalta la columna de la variable analizada
Variable Moda
Year 2019
Product_Model Galaxy S22 5G
FG_Capability Yes
Region North America