El trabajo Final consiste en realizar una evaluacion descriptiva del Peso al nacimiento de caprinos Boer y Nubian provenientes de la majada experimental del INTA Campo Anexo Santa Cruz, EEA Catamarca. El Peso al nacimiento es una variable de gran importancia en los sistemas de producción animal ya que determina el potencial de crecimiento futuro afectando directamente la supervivencia y la ganancia de peso hasta el destete asegurando una mayor probabilidad de alcanzar en menor tiempo el peso ideal al destete y sacrificio. El peso al nacer está influenciado por factores como la nutrición de la madre, la raza, el tipo de parto, el sexo del cabrito y la edad de la madre. Para este módulo se realizará una evaluación descriptiva del compartamiento de esta variable considerando la raza, el tipo de parto y el sexo de las crias.
install.packages("tidyverse")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
install.packages("readxl")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
install.packages("summarytools")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
library("tidyverse")
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.0 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library("readxl")
library("summarytools")
## Warning in fun(libname, pkgname): couldn't connect to display ":0"
##
## Attaching package: 'summarytools'
##
## The following object is masked from 'package:tibble':
##
## view
library("dplyr")
C.1. Cargar la base de datos utilizando la función read_excel()
CABRITOS <-read_excel("Peso nacimiento de caprinos boer y nubian.xlsx")
glimpse("CABRITOS")
## chr "CABRITOS"
CABRITOS
## # A tibble: 201 × 5
## `Año nacimiento` Raza TP sexo PN
## <dbl> <chr> <chr> <chr> <dbl>
## 1 2021 Nubian Simple Hembra 2.39
## 2 2021 Nubian Simple Macho 3.97
## 3 2021 Nubian Simple Macho 3.5
## 4 2021 Nubian Simple Hembra 2.3
## 5 2021 Nubian Simple Macho 3.8
## 6 2021 Nubian Simple Macho 3.44
## 7 2021 Nubian Doble Hembra 2.84
## 8 2021 Nubian Doble Macho 2.2
## 9 2021 Nubian Doble Macho 3.31
## 10 2021 Nubian Doble Hembra 2.78
## # ℹ 191 more rows
Interpretación: La base de datos tiene 201 observaciones con cinco variables: año de nacimiento, raza, tipo de parto(TP), peso al Nacimiento (PN)
C.2. Analisis de la varible PN mediante gráfico histograma.
El gráfico de histograma nos permite obtener una primera vista general de la distribución de la población, respecto a una característica, cuantitativa y continua. Para ello utilizamos la fucion geom_histogram()
ggplot(CABRITOS, aes(PN)) +
geom_histogram(color = "yellow", fill = "darkgreen")+
geom_vline(xintercept = 3, color = "red")+
labs(title = "Peso al nacimiento de cabritos Nubian y Boer",
x = "PN (Kg)",
y = "Frecuencia")
## `stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Interpretación: El histograma presenta 3 picos (multimodal) bien diferencidos,indicandonos que hay situaciones determinadas para la variable PN (raza, tipo de parto o sexo de la cria) que determinan una concentración de datos (frecuencia) que sobresale. Por otro lado se observa que la mayor concetración de datos de PN se da entre los 2,6 kg y 3,7 kg.
HISTOGRAMA MODIFICADO
Para una mejor visualización del comporamiento de los datos se agrupo en 12 columnas segun el siguiente gráfico
ggplot(CABRITOS, aes(PN)) +
geom_histogram(bins = 12,color = "gray", fill = "orange")+
geom_vline(xintercept = 3, color = "red" )+
geom_freqpoly(color = "red", linewidth = 0.2)+
labs(title = "Peso al nacimiento de cabritos Nubian y Boer",
x = "PN (Kg)",
y = "Frecuencia")
## `stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Interpretación: Segun lo visualizado en este nuevo histograma, la distribución del PN se comporta como unimodal. La mayor frecuencia de datos se encuentra entre los 2,5 y 3,5 kg.
Para complementar el histograma anterior se procede a realizar un tabla de frecuencia de la variable PN
TABLA DE FRECUENCIA
TF_PN_CABRITOS<- cut(CABRITOS$PN,
breaks = seq(min(CABRITOS$PN), max(CABRITOS$PN), by = 1),
right = FALSE,
include.lowest = TRUE)
freq(TF_PN_CABRITOS,
report.nas = FALSE,
justify = "center" )
## Frequencies
## TF_PN_CABRITOS
## Type: Factor
##
## Freq % % Cum.
## --------------- ------ -------- --------
## [1.7,2.7) 47 24.23 24.23
## [2.7,3.7) 124 63.92 88.14
## [3.7,4.7] 23 11.86 100.00
## Total 194 100.00 100.00
Interpretación: Los PN de los cabritos se encuentran entre los 1,7 y 4,7, mostrando una dispersion de los datos, aunque el 63,9 % de los mismos se concentran entre 2,7 y 3,7 kg, lo que sugiere que el PN promedio de los biotipos analizados se encuentran en este rango. Los pesos superior a 3,5 son poco frecuentes (11,8%) y pueden estar influenciados por el tipo de parto y sexo de la cria. La distribución de los datos muestran una tendencia central, con una disminución de las frecuencias hacia los extremos.
C.3 DESCRIPTIVAS DE PN según la Raza
DESCRIPTIVAS <- CABRITOS %>%
group_by(Raza) %>%
summarise(
Media = mean(PN, na.rm = TRUE),
Mediana = median(PN, na.rm = TRUE),
Desviacion = sd(PN, na.rm = TRUE),
Minimo = min(PN, na.rm = TRUE),
Maximo = max(PN, na.rm = TRUE),
N = n()
)
# Mostrar resultados en una tabla
DESCRIPTIVAS
## # A tibble: 2 × 7
## Raza Media Mediana Desviacion Minimo Maximo N
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
## 1 Boer 3.33 3.26 0.692 2.1 5.67 106
## 2 Nubian 2.87 2.9 0.505 1.7 3.97 95
C.4 Gráfico de cajas
Analisis de la distribución de la variable Peso al nacimiento utilizando el gráfico de cajas, de modo que, de manera visual, poder inferir algunas cosas sobre su dispersión, ubicación y simetría del PN segun la raza, el Tipo de parto y sexo de las crias
Gráfico de cajas utilizando la función geom_boxplot()
PN segun la raza
ggplot(CABRITOS, aes(Raza, PN, color = Raza)) +
geom_boxplot() +
stat_summary(fun = mean, color = "black", size = 0.8, shape = 5) +
labs(title = "Distribución del Peso Nacimiento segun la raza",
x = "Raza",
y = "PN (Kg)") +
theme_classic() +
theme(plot.title = element_text(size = 20, hjust = 0.5),
axis.title.x = element_text(size = 12, color = "black"),
axis.title.y = element_text(size = 14, color = "black"),
axis.text.x = element_text(size = 10, color = "black"),
axis.text.y = element_text(size = 10, color = "black"),
legend.position = ("right"),
legend.text = element_text(size = 12),
legend.title = element_text(size = 14)) +
scale_y_continuous(limits = c(1, 6),breaks = seq(1, 6, by = 0.3)) +
scale_color_manual(values = c("Nubian" = "blue", "Boer" = "red"))
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
Interpretación: El peso aL naciminto (PN) promedio para ambas razas se encuentran entre los 2,900 kg y 3,300 kg/ha, siendo mayor el PN en Boer. En ambas razas lo promedios de los PN, se encuentran muy próximos a la mediana, aunque en Boer se ubica por encima de la mediana y en Nubian por debajo de la misma indicando que existe una distribución asimetrica hacia la derecha en Boer y hacia la izquierda en Nubian.
Si bien ambos conjuntos de datos parecen presentar una pequeña asimetría, el conjunto de datos correspondiente a los PN de cabritos nubian, el 50% de los datos estan concentrados en los valores mas bajos del rago intercuartil ya que la mediana se encuentra más cerca de un extremo superior de la caja.
Los rangos intercuartílicos son razonablemente similares (como lo demuestran las longitudes de las cajas), aunque el rango general del conjunto de datos es mayor para los pesos de cabritos Boer (2,8 kg a 3,7 kg) respecto a los nubian (2,5 kg a 3,1 kg).El valor adyacente inferior en Boer es 2,3 kg y el adyacente superior 5 kg, mientras que en Nubian 1,7 y 3,8 respectivamente, sugiriendo una mayor dispersion de estos en boer con respecto a Nubian.
El bigote del gráfico de caja de los datos de PN de cabritos Boer es más largo en el extremos superior lo que indica una mayor variabilidad de los datos en esa dirección. También se observa presencia de valores atipicos que requieren un análisis más detallado.
PN segun la raza y sexo de las crias
DESCRIPTIVAS DE PN según el sexo de la cría
DESCRIPTIVAS <- CABRITOS %>%
group_by(Raza, sexo) %>%
summarise(
Media = mean(PN, na.rm = TRUE),
Mediana = median(PN, na.rm = TRUE),
Desviacion = sd(PN, na.rm = TRUE),
Minimo = min(PN, na.rm = TRUE),
Maximo = max(PN, na.rm = TRUE),
N = n()
)
## `summarise()` has grouped output by 'Raza'. You can override using the
## `.groups` argument.
# Mostrar resultados en una tabla
DESCRIPTIVAS
## # A tibble: 4 × 8
## # Groups: Raza [2]
## Raza sexo Media Mediana Desviacion Minimo Maximo N
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
## 1 Boer Hembra 3.22 3.16 0.535 2.15 5.1 61
## 2 Boer Macho 3.49 3.30 0.841 2.1 5.67 45
## 3 Nubian Hembra 2.65 2.61 0.487 1.7 3.61 44
## 4 Nubian Macho 3.06 3.06 0.444 2.12 3.97 51
Gráfico de caja
ggplot(CABRITOS, aes(x = Raza, y = PN, fill = sexo)) +
geom_boxplot() +
labs(title = "Peso Nacimiento según el sexo de la cria",
x = "Raza",
y = "PN (Kg)") +
theme(plot.title = element_text(size = 20, hjust = 0.5),
axis.title.x = element_text(size = 12, color = "black"),
axis.title.y = element_text(size = 14, color = "black"),
axis.text.x = element_text(size = 10, color = "black"),
axis.text.y = element_text(size = 10, color = "black"),
legend.position = ("right"),
legend.text = element_text(size = 12),
legend.title = element_text(size = 14)) +
scale_y_continuous(limits = c(1, 6),breaks = seq(1, 6, by = 0.5))
Interpretación: machos y hembras de las raza Boer presentan mayores PN que en Nubian. En ambas razas el PN de los machos es superior al de las hembras, siendo más notorio en la raza nubian. #Los rangos intercuartílicos son razonablemente similares (como lo demuestran las longitudes de las cajas), aunque el rango general del conjunto de datos es mayor para los pesos de machos Boer (3 kg a 3,7 kg). El valor adyacente inferior en hembras es muy maracado entre nubian y boer (1,7 kg y 2,2 respectivamente) mientras que en machos son similares. En cuanto a la dispersion de datos es mayor en machos boer (bigotes mas largos). Se observa presencia de valores atípicos que requieren un análisis más detallado en machos y hembras Boer.
PN segun la raza y Tipo de parto de las crias
DESCRIPTIVAS DE PN según Tipo de parto de la cría
DESCRIPTIVAS <- CABRITOS %>%
group_by(Raza, TP) %>%
summarise(
Media = mean(PN, na.rm = TRUE),
Mediana = median(PN, na.rm = TRUE),
Desviacion = sd(PN, na.rm = TRUE),
Minimo = min(PN, na.rm = TRUE),
Maximo = max(PN, na.rm = TRUE),
N = n()
)
## `summarise()` has grouped output by 'Raza'. You can override using the
## `.groups` argument.
# Mostrar resultados en una tabla
DESCRIPTIVAS
## # A tibble: 6 × 8
## # Groups: Raza [2]
## Raza TP Media Mediana Desviacion Minimo Maximo N
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
## 1 Boer Doble 3.29 3.2 0.690 2.1 5.67 79
## 2 Boer Simple 3.56 3.57 0.661 2.1 5.1 24
## 3 Boer Triple 2.64 2.74 0.289 2.31 2.86 3
## 4 Nubian Doble 2.85 2.9 0.497 1.7 3.69 64
## 5 Nubian Simple 3.03 3 0.589 2.05 3.97 18
## 6 Nubian Triple 2.73 2.8 0.388 2.22 3.5 13
grafico de caja
ggplot(CABRITOS, aes(x = Raza, y = PN, fill = TP)) +
geom_boxplot() +
labs(title = " Peso Nacimiento según el tipo de parto",
x = "Raza",
y = "PN (Kg)") +
theme(plot.title = element_text(size = 20, hjust = 0.5),
axis.title.x = element_text(size = 12, color = "black"),
axis.title.y = element_text(size = 14, color = "black"),
axis.text.x = element_text(size = 10, color = "black"),
axis.text.y = element_text(size = 10, color = "black"),
legend.position = ("right"),
legend.text = element_text(size = 12),
legend.title = element_text(size = 14)) +
scale_y_continuous(limits = c(1, 6),breaks = seq(1, 6, by = 0.5))
Interpretación: En ambas razas el PN de cabritos provenientes de partos triples es inferior, siendo muy marcada esa diferencia en la raza boer.Los PN de cabritos de partos triples en nubian se encuentarn dentro del intercuartil de partos dobles.
Los rangos intercuartílicos son razonablemente similares en partos dobles y simples para ambas razas no asi en partos triples, siendo mayor en nubian. Los valores adyasentes inferiores y superiores para partos simples y dobles en la raza Boer son similares, no asi en nubian. El 50% de los datos de PN de partos triples en boer se concentran en valores mas bajos del intercuartil, mientras que en nubian a la inversa. Los PN de partos triples de boer estna muy concentrados, indicando un baja variabilidad del intercuartil.
Otros aspecto a destacar es que los pesos provenientes de partos dobles de boer se encuentran en el mismo intercuartil de los pesos de partos simples de la raza nubian, destacando la eficiencia carnicera de la raza boer.
C.4 Medidas de resumnen del PN
Medidas descriptivas del Peso nacimiento (PN) para cada nivel de los factores y para cada combinación de los tratamientos.
DESCRIPTIVAS <- CABRITOS %>%
group_by(Raza,TP,sexo) %>%
summarise(
Media = mean(PN, na.rm = TRUE),
Mediana = median(PN, na.rm = TRUE),
Desviacion = sd(PN, na.rm = TRUE),
Minimo = min(PN, na.rm = TRUE),
Maximo = max(PN, na.rm = TRUE),
N = n()
)
## `summarise()` has grouped output by 'Raza', 'TP'. You can override using the
## `.groups` argument.
# Mostrar resultados en una tabla
DESCRIPTIVAS
## # A tibble: 12 × 9
## # Groups: Raza, TP [6]
## Raza TP sexo Media Mediana Desviacion Minimo Maximo N
## <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
## 1 Boer Doble Hembra 3.12 3.07 0.448 2.15 3.98 48
## 2 Boer Doble Macho 3.54 3.30 0.901 2.1 5.67 31
## 3 Boer Simple Hembra 3.62 3.65 0.685 2.53 5.1 12
## 4 Boer Simple Macho 3.51 3.47 0.662 2.1 4.8 12
## 5 Boer Triple Hembra 2.74 2.74 NA 2.74 2.74 1
## 6 Boer Triple Macho 2.58 2.58 0.389 2.31 2.86 2
## 7 Nubian Doble Hembra 2.67 2.70 0.499 1.7 3.6 32
## 8 Nubian Doble Macho 3.03 3.09 0.432 2.12 3.69 32
## 9 Nubian Simple Hembra 2.58 2.34 0.632 2.05 3.61 6
## 10 Nubian Simple Macho 3.26 3.28 0.438 2.72 3.97 12
## 11 Nubian Triple Hembra 2.60 2.59 0.292 2.22 2.97 6
## 12 Nubian Triple Macho 2.85 2.9 0.442 2.23 3.5 7