A. Selección de la variable.

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.

B. Instalación de paquetes

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. Análisis Descriptivo

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