Este taller trabaja con información de toretes Brahman, considerando las siguientes variables: PN (peso al nacer), PD (peso al destete), AlturaCruz (medida de la altura a la cruz a los 18 meses) y ALTANCA (altura al anca estandarizada a los 18 meses).
# Ingreso de datos
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)
datos <- data.frame(PN, PD, AlturaCruz, ALTANCA)
head(datos)
## PN PD AlturaCruz ALTANCA
## 1 31 200 140 140
## 2 32 205 140 140
## 3 30 200 135 134
## 4 32 210 140 140
## 5 33 212 135 135
## 6 34 215 150 145
#Calculamos la matriz de correlación de Pearson para las cuatro variables.
cor_matrix <- cor(datos)
round_cor <- round(cor_matrix, 3)
print(round_cor)
## PN PD AlturaCruz ALTANCA
## PN 1.000 0.645 0.155 0.290
## PD 0.645 1.000 0.482 0.291
## AlturaCruz 0.155 0.482 1.000 0.644
## ALTANCA 0.290 0.291 0.644 1.000
Interpretación La matriz muestra correlaciones entre las variables:
Se observa una correlación positiva de magnitud moderada entre PN y PD (0.645), lo que significa que a mayor peso al nacer, generalmente se alcanza un mayor peso al destete.
Entre PD y AlturaCruz (0.482) existe una relación moderada, indicando que los animales con mayor peso al destete tienden también a presentar mayor altura a la cruz.
La correlación entre AlturaCruz y ALTANCA (0.644) resulta fuerte, algo esperado por tratarse de medidas morfológicas tomadas en la misma etapa.
Las demás correlaciones (PN–AlturaCruz: 0.155; PN–ALTANCA: 0.290; PD–ALTANCA: 0.291) se consideran débiles a moderadas, reflejando asociaciones menos marcadas.
r_pn_pd <- cor(datos$PN, datos$PD)
r2_pn_pd <- r_pn_pd^2
cat("Coeficiente de correlación (r):", round(r_pn_pd, 3), "\n")
## Coeficiente de correlación (r): 0.645
cat("Coeficiente de determinación (r²):", round(r2_pn_pd, 3), "\n")
## Coeficiente de determinación (r²): 0.416
Interpretación El coeficiente de correlación r = 0.645 refleja una relación positiva de magnitud moderada entre el peso al nacimiento (PN) y el peso al destete (PD). En otras palabras, los toretes que nacen con mayor peso tienden a presentar también un mayor peso al destete, aunque la asociación no es muy fuerte, ya que existe variabilidad que no depende únicamente del PN.
Por su parte, el coeficiente de determinación r² = 0.416 indica que aproximadamente el 41.6% de la variación en el PD puede atribuirse a las diferencias en PN, mientras que el 58.4% restante está influenciado por otros factores, como la alimentación, la genética adicional y el manejo.
#Ajustamos un modelo de regresión lineal simple: PD ~ PN.
modelo <- lm(PD ~ PN, data = datos)
summary(modelo)
##
## Call:
## lm(formula = PD ~ PN, data = datos)
##
## 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
El coeficiente de regresión (pendiente) es aproximadamente b = 4.920, e intercepto a = 46.606. La ecuación es: PD = 46.606 + 4.920 × PN.
Interpretación El coeficiente de regresión señala que, por cada kilogramo adicional en el peso al nacimiento (PN), se proyecta un incremento de 4.920 kg en el peso al destete (PD), siempre que las demás condiciones se mantengan constantes. El intercepto (46.606) corresponde al PD estimado cuando PN=0; sin embargo, este valor carece de sentido biológico, pues corresponde a una extrapolación fuera del rango real. El modelo resulta estadísticamente significativo (p < 0.05 para la pendiente) y presenta un R² de 0.416, lo que confirma que el 41.6% de la variación en PD es explicado por PN.
pn_nuevo <- 34
pd_predicho <- predict(modelo, newdata = data.frame(PN = pn_nuevo))
cat("PD predicho para PN = 34 kg:", round(pd_predicho, 2), "kg\n")
## PD predicho para PN = 34 kg: 213.9 kg
Los toretes con PN = 34 kg tienen PD reales: 215, 220, 215, 220, 215 kg. Promedio real: r mean(datos\(PD[datos\)PN == 34]) kg. El valor predicho (213.90 kg) está cercano al promedio real (217 kg), con una ligera subestimación, lo cual es razonable dado el R² moderado del modelo.
reales_34 <- datos$PD[datos$PN == 34]
cat("Valores reales de PD para PN=34:", paste(reales_34, collapse = ", "), "\n")
## Valores reales de PD para PN=34: 215, 220, 215, 220, 215
cat("Promedio real:", round(mean(reales_34), 2), "kg\n")
## Promedio real: 217 kg
cat("Diferencia (predicho - promedio real):", round(pd_predicho - mean(reales_34), 2), "kg\n")
## Diferencia (predicho - promedio real): -3.1 kg