Tarea de Seguimiento 2 Cálculo de coeficientes

ANAVA leche trópico bajo

Author

Carlos Miranda

Published

September 1, 2025

Code
library(readxl)
library(lsmeans)
library(agricolae)
library(modeest)
library(lattice)
library(outliers)
library(statip)

Lo visto en clase

Code
anava2 <- read_excel("datos/ANAVA1.xlsx",
                     sheet = "Datos")

anava2
Code
Base=anava2
attach(Base)

#Estad?stica descriptiva
length(Base$PCION)
[1] 12
Code
mean(Base$PCION)
[1] 3344
Code
median(Base$PCION)
[1] 3346.5
Code
shapiro.test(Base$PCION)

    Shapiro-Wilk normality test

data:  Base$PCION
W = 0.9009, p-value = 0.1629
Code
#geometric.mean(Base$PCION)
#harmonic.mean(Base$PCION)
min(Base$PCION)
[1] 3330
Code
max(Base$PCION)
[1] 3355
Code
range(Base$PCION)
[1] 3330 3355
Code
var(Base$PCION)
[1] 80.90909
Code
sd(Base$PCION)
[1] 8.994948
Code
error.standar3= sd(Base$PCION)/sqrt(length(Base$PCION))
error.standar3
[1] 2.596618
Code
c.v.1= (sd(Base$PCION)/mean(Base$PCION))*100
c.v.1
[1] 0.2689877
Code
summary(Base$PCION)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   3330    3336    3346    3344    3351    3355 
Code
quantile(Base$PCION)
     0%     25%     50%     75%    100% 
3330.00 3336.50 3346.50 3351.25 3355.00 
Code
mfv(Base$PCION) #Indica el o los valores con m?s frecuencia
[1] 3330
Code
#Algunos gr?ficos exploratorios
hist(Base$PCION,probability=T,breaks="Sturges",col="blue", main="Histograma",
     xlab="PCION",ylab="Frecuencia",border="white")
lines(density(Base$PCION),lwd=2,col="green")
abline(v=mean(Base$PCION),col="red")

Code
boxplot(Base$PCION~Base$Tto,ylab="PCION",xlab="Tto", data=Base)
abline(h=mean(Base$PCION),col="red")
text(2, mean(Base$PCION),"Media General",col="blue",pos=2)

Code
#Analisis de varianza
Analisis1=aov(PCION~Tto, data = Base)
summary(Analisis1)
            Df Sum Sq Mean Sq F value Pr(>F)   
Tto          3  758.7  252.89    15.4 0.0011 **
Residuals    8  131.3   16.42                  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Code
model.tables(Analisis1, "mean")
Tables of means
Grand mean
     
3344 

 Tto 
Tto
   A    B    C    D 
3348 3343 3353 3332 
Code
#Residuales con gr?ficos y convalidaci?n de supuestos del Anava
Base$Residuos=residuals(Analisis1)
Base$Predichos=fitted(Analisis1)
Base
Code
#Normalidad
ShapiroResiduos1=shapiro.test(Base$Residuos)
ShapiroResiduos1

    Shapiro-Wilk normality test

data:  Base$Residuos
W = 0.93977, p-value = 0.4952
Code
#Para ver las distribuciones
densityplot(~Base$Residuos|Base$Tto, ylab="Probabilidad",xlab="Errores")

Code
#Homocedasticidad
CochranRduos1=cochran.test(Residuos~Tto,data=Base)
CochranRduos1

    Cochran test for outlying variance

data:  Residuos ~ Tto
C = 0.65482, df = 3, k = 4, p-value = 0.1645
alternative hypothesis: Group B has outlying variance
sample estimates:
        A         B         C         D 
10.333333 43.000000  4.000000  8.333333 
Code
#Comparacion multiple de promedios
Tukey1=lsmeans(Analisis1, list(pairwise~Tto), adjust="tukey")
Tukey1
$`lsmeans of Tto`
 Tto lsmean   SE df lower.CL upper.CL
 A     3348 2.34  8     3343     3354
 B     3343 2.34  8     3338     3348
 C     3353 2.34  8     3348     3358
 D     3332 2.34  8     3326     3337

Confidence level used: 0.95 

$`pairwise differences of Tto`
 1     estimate   SE df t.ratio p.value
 A - B     5.33 3.31  8   1.612  0.4241
 A - C    -4.67 3.31  8  -1.411  0.5272
 A - D    16.67 3.31  8   5.038  0.0044
 B - C   -10.00 3.31  8  -3.023  0.0644
 B - D    11.33 3.31  8   3.426  0.0366
 C - D    21.33 3.31  8   6.449  0.0009

P value adjustment: tukey method for comparing a family of 4 estimates 

Seguimiento

Para calcular el coeficiente de determinación:

Code
anova_table <- summary(Analisis1)[[1]]
SS_Tto <- anova_table$`Sum Sq`[1]
SS_Residual <- anova_table$`Sum Sq`[2]
R2 <- SS_Tto / (SS_Tto + SS_Residual)
R2
[1] 0.8524345

La proporción de la variabilidad total en la variable respuesta (PCION) es explicada por el factor de tratamiento (Tto). Un R² cercano a 1 (o 100%) sugiere que el modelo ANOVA explica bien las diferencias entre tratamientos, es decir, que Tto tiene un efecto fuerte sobre PCION. Un valor bajo implica que hay mucha variabilidad no explicada por el tratamiento, posiblemente debida a otros factores o ruido aleatorio. En este contexto, ya que R² > 0.7 se considera aceptable.

Cálculo del coeficiente de variación residual del modelo:

Code
anova_table <- summary(Analisis1)[[1]]
MSE <- anova_table$`Mean Sq`[2]
mean_PCION <- mean(Base$PCION)
CV_residual <- (sqrt(MSE) / mean_PCION) * 100
CV_residual
[1] 0.1211647

Representa la dispersión relativa de los errores del modelo en relación con la media de la variable respuesta. Un CV residual bajo (por ejemplo, < 10-15%) indica que el modelo es preciso y los residuales son pequeños en comparación con el valor promedio de PCION, lo que sugiere homogeneidad y fiabilidad en las mediciones, como es en etse caso dado a que se dio un 12%. Para valores altos estos pueden señalar problemas como heterocedasticidad o datos atípicos.