Cargar los datos

setwd("D:/Data")
datos <- read.csv("database.csv", header = TRUE, sep = ";", dec =".")

Variable Ordinal: Transmission

transmision_v <- as.character(datos$Transmission)

Agrupación por tipo

transmision_grupo <- ifelse(grepl("^2-Wheel Drive", transmision_v, ignore.case = TRUE), "2-Wheel Drive",
                            ifelse(grepl("^4-Wheel Drive|^4-Wheel or All-Wheel Drive", transmision_v, ignore.case = TRUE), "4-Wheel or All-Wheel Drive",
                                   ifelse(grepl("^All-Wheel Drive", transmision_v, ignore.case = TRUE), "All-Wheel Drive",
                                          ifelse(grepl("^Auto$", transmision_v, ignore.case = TRUE), "Auto",
                                                 ifelse(grepl("^Automatic", transmision_v, ignore.case = TRUE), "Automatic",
                                                        ifelse(grepl("^Front-Wheel Drive", transmision_v, ignore.case = TRUE), "Front-Wheel Drive",
                                                               ifelse(grepl("^Manual", transmision_v, ignore.case = TRUE), "Manual",
                                                                      ifelse(grepl("^Rear-Wheel Drive", transmision_v, ignore.case = TRUE), "Rear-Wheel Drive", "OTROS"))))))))

transmision_grupo <- transmision_grupo[!is.na(transmision_grupo) & transmision_grupo != ""]
transmision_grupo <- factor(transmision_grupo, levels = c("2-Wheel Drive", "4-Wheel or All-Wheel Drive", 
                                                          "All-Wheel Drive", "Auto", "Automatic", 
                                                          "Front-Wheel Drive", "Manual", 
                                                          "Rear-Wheel Drive", "OTROS"))

TDF_transmision <- table(transmision_grupo)
Tabla_transmision <- as.data.frame(TDF_transmision)
names(Tabla_transmision) <- c("TIPO_TRANSMISION", "ni")
Tabla_transmision$hi_porcentaje <- round((Tabla_transmision$ni / sum(Tabla_transmision$ni)) * 100, 2)

Gráfica 1: Distribución de tipos de transmisión (local)

barplot(Tabla_transmision$ni,
        names.arg = Tabla_transmision$TIPO_TRANSMISION,
        main = "Distribución de tipos de transmisión (local)",
        xlab = "Tipo de transmisión",
        ylab = "Cantidad",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

Gráfica 2: Distribución de tipos de transmisión (global)

barplot(Tabla_transmision$ni,
        names.arg = Tabla_transmision$TIPO_TRANSMISION,
        main = "Distribución de tipos de transmisión (global)",
        xlab = "Tipo de transmisión",
        ylab = "Cantidad",
        col = "blue",
        ylim = c(0, sum(Tabla_transmision$ni)),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

Gráfica 3: Distribución porcentual de tipos de transmisión (local)

barplot(Tabla_transmision$hi_porcentaje,
        names.arg = Tabla_transmision$TIPO_TRANSMISION,
        main = "Distribución porcentual de tipos de transmisión (local)",
        xlab = "Tipo de transmisión",
        ylab = "Porcentaje (%)",
        col = "steelblue",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

Gráfica 4: Distribución porcentual de tipos de transmisión (global)

barplot(Tabla_transmision$hi_porcentaje,
        names.arg = Tabla_transmision$TIPO_TRANSMISION,
        main = "Distribución porcentual de tipos de transmisión (global)",
        xlab = "Tipo de transmisión",
        ylab = "Porcentaje (%)",
        col = "darkgreen",
        ylim = c(0, 100),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

Gráfica 5: Distribución de tipos de transmisión

etiqueta_transmision <- paste0(round(Tabla_transmision$hi_porcentaje, 2), "%")
colores <- rev(heat.colors(nrow(Tabla_transmision)))

pie(Tabla_transmision$hi_porcentaje,
    main = "Gráfica 5: Distribución de tipos de transmisión",
    radius = 1,
    col = colores,
    labels = etiqueta_transmision,
    cex = 0.7)

legend("bottomleft",
       legend = Tabla_transmision$TIPO_TRANSMISION,
       title = "TIPO DE TRANSMISIÓN",
       fill = colores,
       cex = 0.5,         
       inset = 0.01,    
       bty = "n")         

INDICADORES

# MODA
moda_transmision <- names(TDF_transmision)[which.max(TDF_transmision)]
print(paste("MODA (TIPO DE TRANSMISIÓN):", moda_transmision))
## [1] "MODA (TIPO DE TRANSMISIÓN): Automatic"
# MEDIANA
transmision_ordenada <- sort(as.character(transmision_grupo))
pos_mediana <- ceiling((length(transmision_ordenada) + 1) / 2)
mediana_transmision <- transmision_ordenada[pos_mediana]
print(paste("MEDIANA (TIPO DE TRANSMISIÓN):", mediana_transmision))
## [1] "MEDIANA (TIPO DE TRANSMISIÓN): Automatic"

Conclusión

La variable fluctúa desde el tipo de transmisión manual hasta la transmisión total de 4 ruedas, donde los datos con mayor frecuencia están en la transmisión automática con una mediana de el mismo tipo de transmisión, lo cual nos indica que ese tipo de transmisión es el mas repetitivo, aunque no es el más barato, por lo tanto es ligeramente beneficioso.