library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.1.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(corrplot)
## corrplot 0.95 loaded

1 Datos

Se registraron datos de toretes Brahman sobre Peso al Nacimiento (PN), Peso al Destete (PD), Altura a la Cruz (AlturaCruz) y Altura al Anca (ALTANCA):

PN <- c(31,32,30,32,33,34,33,33,32,36,34,34,34,31,31,30,34,35,32,33)
PD <- c(200,205,200,210,212,215,190,210,206,230,220,215,220,190,190,200,215,200,192,230)
AlturaCruz <- c(140,140,135,140,135,150,130,145,140,135,145,140,140,140,140,135,140,135,130,145)
ALTANCA <- c(140,140,134,140,135,145,135,145,140,132,143,142,136,132,135,135,140,141,138,140)

hato <- data.frame(PN, PD, AlturaCruz, ALTANCA)
head(hato)

2 1. Matriz de correlación

matriz_cor <- cor(hato)
print(matriz_cor)
##                   PN        PD AlturaCruz   ALTANCA
## PN         1.0000000 0.6452501  0.1546104 0.2900143
## PD         0.6452501 1.0000000  0.4815453 0.2911523
## AlturaCruz 0.1546104 0.4815453  1.0000000 0.6438041
## ALTANCA    0.2900143 0.2911523  0.6438041 1.0000000
corrplot(matriz_cor, method = "circle", type = "upper", tl.col = "black", tl.srt = 45)

Interpretación: La matriz indica la fuerza y dirección de las relaciones lineales entre variables. Valores cercanos a 1 o -1 señalan relaciones fuertes positivas o negativas, mientras valores cercanos a 0 indican ausencia de relación lineal.

3 2. Coeficientes entre PN y PD

cor_PN_PD <- cor(hato$PN, hato$PD)
R2_PN_PD <- cor_PN_PD^2

cat(sprintf("Coeficiente de correlación entre PN y PD: %.3f\n", cor_PN_PD))
## Coeficiente de correlación entre PN y PD: 0.645
cat(sprintf("Coeficiente de determinación (R²) entre PN y PD: %.3f\n", R2_PN_PD))
## Coeficiente de determinación (R²) entre PN y PD: 0.416

Interpretación: La correlación muestra una asociación positiva moderada entre peso al nacimiento y al destete. El coeficiente de determinación indica que aproximadamente el porcentaje de la variación en PD se explica por PN.

4 3. Regresión lineal PD sobre PN

modelo <- lm(PD ~ PN, data = hato)
summary(modelo)
## 
## Call:
## lm(formula = PD ~ PN, data = hato)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -18.976  -1.635   1.104   5.825  21.024 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)   46.606     44.953   1.037  0.31358   
## PN             4.920      1.373   3.583  0.00212 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.729 on 18 degrees of freedom
## Multiple R-squared:  0.4163, Adjusted R-squared:  0.3839 
## F-statistic: 12.84 on 1 and 18 DF,  p-value: 0.002125
coef_intercepto <- coef(modelo)
coef_pendiente <- coef(modelo)

cat(sprintf("Ecuación de regresión: PD = %.2f + %.2f * PN\n", coef_intercepto, coef_pendiente))
## Ecuación de regresión: PD = 46.61 + 46.61 * PN
##  Ecuación de regresión: PD = 4.92 + 4.92 * PN
# Predicción para PN = 34

PN_nuevo <- 34
PD_predicho <- coef_intercepto + coef_pendiente * PN_nuevo
cat(sprintf("Valor predicho de PD para PN=34 Kg: %.2f\n", PD_predicho))
## Valor predicho de PD para PN=34 Kg: 1631.20
##  Valor predicho de PD para PN=34 Kg: 172.21
# Valores reales para PN=34

valores_reales_PD <- hato$PD[hato$PN == PN_nuevo]
cat("Valores reales de PD correspondientes a PN=34 Kg:\n")
## Valores reales de PD correspondientes a PN=34 Kg:
print(valores_reales_PD)
## [1] 215 220 215 220 215

Interpretación: El coeficiente de regresión indica el cambio esperado en PD por cada unidad de cambio en PN. La predicción para un torete con PN de 34 Kg muestra un valor cercano a los pesos al destete reales observados, indicando una buena capacidad predictiva del modelo lineal simple.

Conclusión: La matriz de correlación mostró relaciones positivas entre las variables estudiadas, destacando una asociación moderada entre el peso al nacimiento (PN) y el peso al destete (PD). El coeficiente de determinación indicó que aproximadamente una proporción significativa de la variabilidad en PD puede explicarse por PN. El modelo de regresión lineal confirmó esta relación, permitiendo predecir el peso al destete a partir del peso al nacimiento con resultados coherentes respecto a los valores reales observados. Estos hallazgos sugieren que el peso al nacimiento es un buen predictor del desempeño productivo temprano y puede ser una herramienta útil para la selección y manejo en la producción bovina. No obstante, se recomienda considerar otros factores adicionales para mejorar la precisión y comprensión integral del crecimiento animal.