Isabela Caro Díaz
Angela Nicol Botina
Sara Velásquez Rodríguez
Sarah Valencia González
Jaime Andrés Guevara
En este informe se presenta un análisis exploratorio y descriptivo del sacrificio de ganado bovino en los municipios del Valle del Cauca durante 2018 y 2019. Se emplean técnicas gráficas y estadísticas para describir la distribución de machos, hembras, el total de animales sacrificados y el peso en pie (toneladas). También se examinan relaciones bivariadas (correlaciones y dispersiones) y se muestran visualizaciones por municipio. El documento está diseñado para ser reproducible: basta con situar el archivo Excel con el nombre por defecto en la misma carpeta o cambiar el parámetro datafile.
#1. Introducción El estudio del sacrificio de ganado bovino
constituye un aspecto clave para comprender la dinámica productiva y
económica del Valle del Cauca. Su análisis estadístico permite
identificar tendencias, patrones y desigualdades entre municipios,
aportando información relevante para procesos de toma de decisiones,
planeación territorial y evaluación de la actividad ganadera regional.
#2. Datos y metodología ##2.1 Fuente de datos Los datos provienen del
archivo Excel especificado en df. Contiene 85 observaciones
y 8 variables (Municipio, Machos Sacrificados, Promedio en Kg Machos,
Hembras Sacrificadas, Promedio en Kg Hembras, Animales Sacrificados,
Peso en pie en Tn, Año). ## 2.2 Craga y preparación
En esta sección se calculan las medidas estadísticas descriptivas fundamentales para cada variable cuantitativa. ## 3.1 Tabla de resumen
# Tabla resumen estadisticas descriptivas
get_mode <- function(v) {
uniques <- unique(v)
uniques[which.max(tabulate(match(v, uniques)))]
}
variables <- data.frame(
Machos.Sacrificados = df$Machos.Sacrificados,
Hembras.Sacrificadas = df$Hembras.Sacrificadas,
Animales.Sacrificados = df$Animales.Sacrificados,
Peso.en.pie.en.Tn = df$Peso.en.pie.en.Tn
)
tabla_stats <- data.frame(
Variable = colnames(variables),
Media = sapply(variables, mean, na.rm = TRUE),
Mediana = sapply(variables, median, na.rm = TRUE),
Moda = sapply(variables, get_mode),
Varianza = sapply(variables, var, na.rm = TRUE),
Desv_Estandar = sapply(variables, sd, na.rm = TRUE)
)
tabla_stats
## Variable Media Mediana Moda Varianza
## Machos.Sacrificados Machos.Sacrificados 2049.141 1066 1822 12425727
## Hembras.Sacrificadas Hembras.Sacrificadas 1128.094 595 953 4430193
## Animales.Sacrificados Animales.Sacrificados 3177.235 1685 2775 31559000
## Peso.en.pie.en.Tn Peso.en.pie.en.Tn 1311.424 699 699 5614424
## Desv_Estandar
## Machos.Sacrificados 3525.014
## Hembras.Sacrificadas 2104.802
## Animales.Sacrificados 5617.740
## Peso.en.pie.en.Tn 2369.478
Se presentan diagramas de caja e histogramas para visualizar la forma de las distribuciones y detectar asimetrías y valores atípicos.
boxplot(df$Machos.Sacrificados, col="skyblue", main="Machos Sacrificados",
ylim=c(0, 10000))
boxplot(df$Hembras.Sacrificadas, col ="pink",main="Hembras Sacrificadas",
ylim=c(0,4000))
boxplot(df$Animales.Sacrificados, col="lightgreen",main="Animales sacrificados",
ylim=c(0,12000))
boxplot(df$Peso.en.pie.en.Tn, col="orange",main="Peso en pie en Tn",
ylim=c(0,5000))
par(mfrow=c(1,1)) # volver a 1 gráfico
media_machos <- mean(df$Machos.Sacrificados, na.rm = TRUE)
mediana_machos <- median(df$Machos.Sacrificados, na.rm = TRUE)
moda_machos <- get_mode(df$Machos.Sacrificados)
hist(df$Machos.Sacrificados, col = "skyblue",
main = "Histograma Machos Sacrificados con Media, Mediana y Moda",
xlab = "Machos Sacrificados")
abline(v = media_machos, col = "red", lwd = 2, lty = 1)
abline(v = mediana_machos, col = "green", lwd = 2, lty = 2)
abline(v = moda_machos, col = "blue", lwd = 2, lty = 3)
legend("topright",
legend = c("Media", "Mediana", "Moda"),
col = c("red", "green", "blue"),
lwd = 2,
lty = c(1, 2, 3))
# Histogramas para Hembras Sacrificadas
media_hembras <- mean(df$Hembras.Sacrificadas, na.rm = TRUE)
mediana_hembras <- median(df$Hembras.Sacrificadas, na.rm = TRUE)
moda_hembras <- get_mode(df$Hembras.Sacrificadas)
hist(df$Hembras.Sacrificadas, col = "gray",
main = "Histograma Hembras Sacrificadas con Media, Mediana y Moda",
xlab = "Hembras Sacrificadas")
abline(v = media_hembras, col = "red", lwd = 2, lty = 1)
abline(v = mediana_hembras, col = "green", lwd = 2, lty = 2)
abline(v = moda_hembras, col = "blue", lwd = 2, lty = 3)
legend("topright",
legend = c("Media", "Mediana", "Moda"),
col = c("red", "green", "blue"),
lwd = 2,
lty = c(1, 2, 3))
# Histograma para Peso en pie en Tn
media_peso <- mean(df$Peso.en.pie.en.Tn, na.rm = TRUE)
mediana_peso <- median(df$Peso.en.pie.en.Tn, na.rm = TRUE)
moda_peso <- get_mode(df$Peso.en.pie.en.Tn)
hist(df$Peso.en.pie.en.Tn, col = "orange",
main = "Histograma Peso en pie en Tn con Media, Mediana y Moda",
xlab = "Peso en pie en Tn")
abline(v = media_peso, col = "red", lwd = 2, lty = 1)
abline(v = mediana_peso, col = "green", lwd = 2, lty = 2)
abline(v = moda_peso, col = "blue", lwd = 2, lty = 3)
legend("topright",
legend = c("Media", "Mediana", "Moda"),
col = c("red", "green", "blue"),
lwd = 2,
lty = c(1, 2, 3))
plot(df$Machos.Sacrificados, df$Hembras.Sacrificadas, col="blue",
main="Dispersión Machos vs Hembras",
xlab="Machos Sacrificados", ylab="Hembras Sacrificadas", xlim =c(0,10000))
plot(df$Animales.Sacrificados, df$Peso.en.pie.en.Tn, col="red",
main="Dispersión Animales vs Peso en pie",
xlab="Animales Sacrificados", ylab="Peso en pie en Tn", xlim =c(0,15000))
# 6. Análisis bivariado
#Declarar las variables a comparar
Machos<-c(df$Machos.Sacrificados)
Hembras<-c(df$Hembras.Sacrificadas)
#Determinar la correlación entre ellas
cor(Machos,Hembras)
## [1] 0.9908458
cor.test(Machos,Hembras)
##
## Pearson's product-moment correlation
##
## data: Machos and Hembras
## t = 66.867, df = 83, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9859218 0.9940527
## sample estimates:
## cor
## 0.9908458
#Graficar
pairs(Machos~Hembras)
#Matriz de correlación
data <-data.frame(Machos,Hembras)
chart.Correlation(data)
## 6.2 Diagramas de dispersión
plot(df$Machos.Sacrificados, df$Hembras.Sacrificadas, col="blue",
main="Dispersión Machos vs Hembras",
xlab="Machos Sacrificados", ylab="Hembras Sacrificadas", xlim =c(0,10000))
plot(df$Animales.Sacrificados, df$Peso.en.pie.en.Tn, col="red",
main="Dispersión Animales vs Peso en pie",
xlab="Animales Sacrificados", ylab="Peso en pie en Tn", xlim =c(0,15000))
# 7. Comparación por municipio
##Declarar variable cualitativa y cuantitativa
Cualitativa<- c(df$Municipio)
Cuantitativa<-c(df$Animales.Sacrificados)
#Diagrama de cajas
boxplot(Cuantitativa~Cualitativa)
# 8. Serie de tiempos básica > Nota: con solo 2 años la capacidad de
pronóstico es limitada; el gráfico sirve para visualizar cambios entre
2018 y 2019.
serie <- ts(df$Animales.Sacrificados, start = min(df$Año), frequency = 1)
autoplot(serie) +
labs(title = "Pronóstico en el tiempo",
x = "Año",
y = "Animales Sacrificados") +
theme_bw()
La actividad de sacrificio está concentrada en un número reducido
de municipios; la distribución es asimétrica.
Machos y hembras muestran alta correlación, indicando que donde se sacrifican más machos también se sacrifican más hembras.
El peso en pie y el total de animales sacrificados también mantienen una relación positiva, aunque con mayor dispersión en los valores altos.
Los resultados evidencian diferencias territoriales importantes en la actividad ganadera, lo que sugiere variaciones en infraestructura, capacidad productiva o dinámica económica entre municipios.