df <- read.csv2("Producción_de_frutales_en_el_Valle_del_Cauca_20260130 (1).csv",
                fileEncoding = "UTF-8",
                stringsAsFactors = FALSE,
                check.names = FALSE)

Análisis descriptivo variables cualitativas

library(summarytools)

# Asegurar que sean cualitativas
df$Municipio <- as.factor(df$Municipio)
df$Cultivo   <- as.factor(df$Cultivo)

# --- MUNICIPIO ---
table(df$Municipio)
## 
##        Alcalá     Andalucia  Ansermanuevo       Argelia       Bolivar 
##            27            19            32            20            46 
##  Buenaventura          Buga  Bugalagrande    Caicedonia          Cali 
##            29            51            27            20            25 
## Calima Darién    Candelaria       Cartago         Dagua     El Aguila 
##            31            13            24            29            41 
##      El Cairo    El Cerrito      El Dovio       Florida       Ginebra 
##            31            25            17            49            21 
##       Guacarí       Jamundí     La Cumbre      La Unión   La Victoria 
##            27            51            10            33            30 
##        Obando       Palmira       Pradera      Restrepo       Riofrío 
##            18            42            33            52            38 
##    Roldanillo     San Pedro       Sevilla          Toro      Trujillo 
##            35            29            38            20            34 
##         Tuluá         Ulloa     Versalles         Vijes        Yotoco 
##            32            20            28            15            30 
##         Yumbo        Zarzal 
##            37            15
summarytools::freq(df$Municipio, cumul = FALSE)
## Frequencies  
## df$Municipio  
## Type: Factor  
## 
##                       Freq   % Valid   % Total
## ------------------- ------ --------- ---------
##              Alcalá     27      2.17      2.17
##           Andalucia     19      1.53      1.53
##        Ansermanuevo     32      2.57      2.57
##             Argelia     20      1.61      1.61
##             Bolivar     46      3.70      3.70
##        Buenaventura     29      2.33      2.33
##                Buga     51      4.10      4.10
##        Bugalagrande     27      2.17      2.17
##          Caicedonia     20      1.61      1.61
##                Cali     25      2.01      2.01
##       Calima Darién     31      2.49      2.49
##          Candelaria     13      1.05      1.05
##             Cartago     24      1.93      1.93
##               Dagua     29      2.33      2.33
##           El Aguila     41      3.30      3.30
##            El Cairo     31      2.49      2.49
##          El Cerrito     25      2.01      2.01
##            El Dovio     17      1.37      1.37
##             Florida     49      3.94      3.94
##             Ginebra     21      1.69      1.69
##             Guacarí     27      2.17      2.17
##             Jamundí     51      4.10      4.10
##           La Cumbre     10      0.80      0.80
##            La Unión     33      2.65      2.65
##         La Victoria     30      2.41      2.41
##              Obando     18      1.45      1.45
##             Palmira     42      3.38      3.38
##             Pradera     33      2.65      2.65
##            Restrepo     52      4.18      4.18
##             Riofrío     38      3.05      3.05
##          Roldanillo     35      2.81      2.81
##           San Pedro     29      2.33      2.33
##             Sevilla     38      3.05      3.05
##                Toro     20      1.61      1.61
##            Trujillo     34      2.73      2.73
##               Tuluá     32      2.57      2.57
##               Ulloa     20      1.61      1.61
##           Versalles     28      2.25      2.25
##               Vijes     15      1.21      1.21
##              Yotoco     30      2.41      2.41
##               Yumbo     37      2.97      2.97
##              Zarzal     15      1.21      1.21
##                <NA>      0                0.00
##               Total   1244    100.00    100.00
# --- CULTIVO ---
table(df$Cultivo)
## 
##        Aguacate   Aguacate Hass           Arazá        Bananito          Banano 
##              85              64               4               8             158 
##          Borojó           Brevo      Chontaduro        Cítricos            Coco 
##               5               2              15              43               5 
##          Curuba         Durazno           Fresa      Granadilla       Guanábana 
##              15              10              35              13              21 
##         Guayaba          Gulupa           Limón            Lulo       Macadamia 
##             118               4              72              48              15 
##       Mandarina           Mango        Maracuyá            Mora         Naranja 
##              64              11              65             106              64 
##          Papaya            Piña          Pitaya         Plátano Tomate de Árbol 
##               7              11              71              31              46 
##          Uchuva             Vid          Zapote 
##               2               8              18
summarytools::freq(df$Cultivo, cumul = FALSE)
## Frequencies  
## df$Cultivo  
## Type: Factor  
## 
##                         Freq   % Valid   % Total
## --------------------- ------ --------- ---------
##              Aguacate     85      6.83      6.83
##         Aguacate Hass     64      5.14      5.14
##                 Arazá      4      0.32      0.32
##              Bananito      8      0.64      0.64
##                Banano    158     12.70     12.70
##                Borojó      5      0.40      0.40
##                 Brevo      2      0.16      0.16
##            Chontaduro     15      1.21      1.21
##              Cítricos     43      3.46      3.46
##                  Coco      5      0.40      0.40
##                Curuba     15      1.21      1.21
##               Durazno     10      0.80      0.80
##                 Fresa     35      2.81      2.81
##            Granadilla     13      1.05      1.05
##             Guanábana     21      1.69      1.69
##               Guayaba    118      9.49      9.49
##                Gulupa      4      0.32      0.32
##                 Limón     72      5.79      5.79
##                  Lulo     48      3.86      3.86
##             Macadamia     15      1.21      1.21
##             Mandarina     64      5.14      5.14
##                 Mango     11      0.88      0.88
##              Maracuyá     65      5.23      5.23
##                  Mora    106      8.52      8.52
##               Naranja     64      5.14      5.14
##                Papaya      7      0.56      0.56
##                  Piña     11      0.88      0.88
##                Pitaya     71      5.71      5.71
##               Plátano     31      2.49      2.49
##       Tomate de Árbol     46      3.70      3.70
##                Uchuva      2      0.16      0.16
##                   Vid      8      0.64      0.64
##                Zapote     18      1.45      1.45
##                  <NA>      0                0.00
##                 Total   1244    100.00    100.00

Indicadores: centro, dispersión y forma (cuantitativas)

# Convertir Producción a numérica
prod_txt <- as.character(df$`Producción en toneladas`)
prod_txt <- gsub("\\.", "", prod_txt)
prod_txt <- gsub(",", ".", prod_txt)
df$Producción <- as.numeric(prod_txt)

df$Año <- as.numeric(df$Año)

# Función de indicadores
indicadores <- function(x){
  x <- x[!is.na(x)]
  media <- mean(x); mediana <- median(x)
  varianza <- var(x); sd <- sd(x)
  rango <- max(x) - min(x)
  iqr <- IQR(x)
  cv <- (sd/media)*100
  
  # Forma
  m2 <- mean((x-media)^2)
  m3 <- mean((x-media)^3)
  m4 <- mean((x-media)^4)
  asimetria <- m3/(m2^(3/2))
  curtosis <- m4/(m2^2) - 3
  
  data.frame(
    Media = media,
    Mediana = mediana,
    Varianza = varianza,
    Desv_Estandar = sd,
    Rango = rango,
    IQR = iqr,
    CV_pct = cv,
    Asimetria = asimetria,
    Curtosis = curtosis
  )
}

# Año
indicadores(df$Año)
##      Media Mediana Varianza Desv_Estandar Rango IQR     CV_pct Asimetria
## 1 2020.589    2021 2.536682      1.592696    22   2 0.07882337 -5.414678
##   Curtosis
## 1 65.23227
# Producción
indicadores(df$Producción)
##      Media Mediana Varianza Desv_Estandar Rango IQR  CV_pct Asimetria Curtosis
## 1 1182.958   141.6 15539035      3941.958 77832 590 333.229  9.455132 136.3299

knitr::kable(indicadores(df\(Año)) knitr::kable(indicadores(df\)Producción))