Instalamos y cargamos paquetes

options(repos = c(CRAN = "https://cloud.r-project.org"))
# Instalamos los paquetes que vamos a usar en el análisis estadístico
# install.packages("tidyverse")
# install.packages("readxl")
install.packages("car")
## package 'car' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\vanes\AppData\Local\Temp\RtmpKqeQo8\downloaded_packages
install.packages("agricolae")
## package 'agricolae' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\vanes\AppData\Local\Temp\RtmpKqeQo8\downloaded_packages
install.packages("emmeans")
## package 'emmeans' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\vanes\AppData\Local\Temp\RtmpKqeQo8\downloaded_packages
install.packages("summarytools")
## package 'summarytools' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\vanes\AppData\Local\Temp\RtmpKqeQo8\downloaded_packages
library(tidyverse)
library(readxl)
library(car)
library(agricolae)
library(emmeans)
library(summarytools)

A. Exploración de datos

1- Carga de la base de datos “poroto”

POROTO <- read_excel("E:/Para D/diplo R/modulo 7 TF/poroto.xlsx")
POROTO
## # A tibble: 24 × 5
##    Variedad Insecticida Tratamiento Repeticion Rendimiento
##    <chr>    <chr>       <chr>       <chr>      <chr>      
##  1 V1       D0          V1_D0       r1         0.89       
##  2 V1       D0          V1_D0       r2         0.94       
##  3 V1       D0          V1_D0       r3         0.85       
##  4 V1       D0          V1_D0       r4         1.12       
##  5 V1       D0          V1_D0       r5         1.35       
##  6 V1       D0          V1_D0       r6         1.05       
##  7 V1       D1          V1_D1       r1         1.78       
##  8 V1       D1          V1_D1       r2         2.0        
##  9 V1       D1          V1_D1       r3         1.86       
## 10 V1       D1          V1_D1       r4         2.3        
## # ℹ 14 more rows

Transformación de variables

str(POROTO)
## tibble [24 × 5] (S3: tbl_df/tbl/data.frame)
##  $ Variedad   : chr [1:24] "V1" "V1" "V1" "V1" ...
##  $ Insecticida: chr [1:24] "D0" "D0" "D0" "D0" ...
##  $ Tratamiento: chr [1:24] "V1_D0" "V1_D0" "V1_D0" "V1_D0" ...
##  $ Repeticion : chr [1:24] "r1" "r2" "r3" "r4" ...
##  $ Rendimiento: chr [1:24] "0.89" "0.94" "0.85" "1.12" ...
# Cambiar las variables a factores
POROTO <- POROTO %>% 
  mutate(
    Variedad = factor(Variedad),
    Insecticida = factor(Insecticida),
    Tratamiento = factor(Tratamiento),
    Rendimiento = as.numeric(Rendimiento))
str(POROTO)
## tibble [24 × 5] (S3: tbl_df/tbl/data.frame)
##  $ Variedad   : Factor w/ 2 levels "V1","V2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Insecticida: Factor w/ 2 levels "D0","D1": 1 1 1 1 1 1 2 2 2 2 ...
##  $ Tratamiento: Factor w/ 4 levels "V1_D0","V1_D1",..: 1 1 1 1 1 1 2 2 2 2 ...
##  $ Repeticion : chr [1:24] "r1" "r2" "r3" "r4" ...
##  $ Rendimiento: num [1:24] 0.89 0.94 0.85 1.12 1.35 1.05 1.78 2 1.86 2.3 ...
POROTO
## # A tibble: 24 × 5
##    Variedad Insecticida Tratamiento Repeticion Rendimiento
##    <fct>    <fct>       <fct>       <chr>            <dbl>
##  1 V1       D0          V1_D0       r1                0.89
##  2 V1       D0          V1_D0       r2                0.94
##  3 V1       D0          V1_D0       r3                0.85
##  4 V1       D0          V1_D0       r4                1.12
##  5 V1       D0          V1_D0       r5                1.35
##  6 V1       D0          V1_D0       r6                1.05
##  7 V1       D1          V1_D1       r1                1.78
##  8 V1       D1          V1_D1       r2                2   
##  9 V1       D1          V1_D1       r3                1.86
## 10 V1       D1          V1_D1       r4                2.3 
## # ℹ 14 more rows

2. Exploración de los datos

ggplot(POROTO, aes(Tratamiento, Rendimiento, fill = Rendimiento)) +
  geom_boxplot() +
  theme_minimal() +
  theme(legend.position = "none")

Medidas resumen

descr(POROTO)
## Descriptive Statistics  
## POROTO  
## N: 24  
## 
##                     Rendimiento
## ----------------- -------------
##              Mean          1.86
##           Std.Dev          0.63
##               Min          0.85
##                Q1          1.34
##            Median          1.90
##                Q3          2.45
##               Max          2.80
##               MAD          0.83
##               IQR          1.08
##                CV          0.34
##          Skewness         -0.16
##       SE.Skewness          0.47
##          Kurtosis         -1.35
##           N.Valid         24.00
##                 N         24.00
##         Pct.Valid        100.00

3. Medidas descriptivas por tratamiento

POROTO %>% 
  group_by(Tratamiento) %>% 
  descr(Rendimiento)
## Descriptive Statistics  
## Rendimiento by Tratamiento  
## Data Frame: POROTO  
## N: 24  
## 
##                      V1_D0    V1_D1    V2_D0    V2_D1
## ----------------- -------- -------- -------- --------
##              Mean     1.03     2.04     1.74     2.63
##           Std.Dev     0.18     0.25     0.32     0.12
##               Min     0.85     1.78     1.33     2.50
##                Q1     0.89     1.86     1.40     2.50
##            Median     1.00     1.96     1.81     2.65
##                Q3     1.12     2.30     2.00     2.70
##               Max     1.35     2.40     2.10     2.80
##               MAD     0.17     0.21     0.35     0.15
##               IQR     0.20     0.35     0.48     0.18
##                CV     0.18     0.12     0.18     0.05
##          Skewness     0.59     0.37    -0.25     0.04
##       SE.Skewness     0.85     0.85     0.85     0.85
##          Kurtosis    -1.33    -1.86    -1.93    -1.88
##           N.Valid     6.00     6.00     6.00     6.00
##                 N     6.00     6.00     6.00     6.00
##         Pct.Valid   100.00   100.00   100.00   100.00

4.Gráfico de interacción

ggplot(POROTO, aes(x = Insecticida, y = Rendimiento, color = Variedad, group = Variedad)) +
  stat_summary(fun = mean, geom = "line") +
  stat_summary(fun = mean, geom = "point")

###Descripción del gráfico: Según el análisis gráfico no existe interacción entre el factor “Insecticida” y “Variedad”. Para ambas variedades, el rendimiento incrementa con la dosis D1.

B. Análisis de Varianza Factorial (ANOVA)

5. Planteo de Hipótesis

  1. Interacción Factores “Variedad” x “Insecticida”

H0: (⍺𝜷) = 0 (No hay interacción: el efecto de un factor es independiente del otro)

H1: (⍺𝜷) ≠ 0 (Existe interacción entre ambos factores)

  1. Efecto del factor Variedad

H0 ⍺ = 0 (La variedad no tiene efecto sobre la media de rendimiento de poroto)

H1 ⍺ ≠ 0 (Al menos una variedad tiene efecto sobre la media de rendimiento de poroto)

  1. Efecto del factor Insecticida

H0 ⍺ = 0 (La dosis de insecticida no tiene efecto sobre la media de rendimiento de poroto)

H1 ⍺ ≠ 0 (Al menos una dosis de insecticida tiene efecto sobre la media de rendimiento de poroto)

6. Ajuste del modelo factorial

modelo_factorial_poroto <- aov( Rendimiento ~ Variedad + Insecticida + Variedad:Insecticida, data = POROTO)
summary(modelo_factorial_poroto)
##                      Df Sum Sq Mean Sq F value   Pr(>F)    
## Variedad              1  2.529   2.529  48.018 9.95e-07 ***
## Insecticida           1  5.425   5.425 103.015 2.46e-09 ***
## Variedad:Insecticida  1  0.022   0.022   0.422    0.523    
## Residuals            20  1.053   0.053                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

7. Interpretación de la Tabla de ANOVA

Se corrobora lo visto a nivel gráfico: La interacción Variedad × Insecticida no es significativa (p = 0.523), lo que indica que el efecto de la INsecticida sobre el rendimiento de poroto promedio es similar en ambas variedades, y viceversa. En cuanto a los efectos principales, tanto la Variedad (p = 9.95e-07) como el Insecticida (p = 2.46e-09) tienen un efecto significativo sobre del rendimiento de poroto.

C.Verificación de Supuestos del modelo

8, 9 y 10. Normalidad y Homocedasticidad

# Gráfico de diagnóstico
plot(modelo_factorial_poroto, which = 1:2) 

# Prueba de normalidad de Shapiro-Wilk
shapiro.test(modelo_factorial_poroto$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo_factorial_poroto$residuals
## W = 0.97151, p-value = 0.7043
# Histograma para residuos 
hist(modelo_factorial_poroto$residuals)

#Test de Levene (car)
leveneTest(Rendimiento ~ Variedad * Insecticida, data = POROTO)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  3  1.2728 0.3107
##       20

De acuerdo a los Test de Shapiro- Wilk y Levene, no se rechaza la normalidad de los errores ni la homogeneidad de las varianzas, por lo cual se cumplen ambos supuestos del modelo.

D.Comparación de medias

11. Test de Tukey (HSD)

# Factor "Variedad"
Tukey_var_poroto <- HSD.test(modelo_factorial_poroto, "Variedad")
Tukey_var_poroto
## $statistics
##     MSerror Df    Mean       CV       MSD
##   0.0526575 20 1.86375 12.31239 0.1954165
## 
## $parameters
##    test   name.t ntr StudentizedRange alpha
##   Tukey Variedad   2         2.949998  0.05
## 
## $means
##    Rendimiento       std  r         se  Min Max    Q25   Q50    Q75
## V1    1.539167 0.5682582 12 0.06624292 0.85 2.4 1.0225 1.565 1.9475
## V2    2.188333 0.5176667 12 0.06624292 1.33 2.8 1.8425 2.300 2.6250
## 
## $comparison
## NULL
## 
## $groups
##    Rendimiento groups
## V2    2.188333      a
## V1    1.539167      b
## 
## attr(,"class")
## [1] "group"
plot(Tukey_var_poroto)

# Factor "Insecticida"
Tukey_insec_poroto <- HSD.test(modelo_factorial_poroto, "Insecticida")
Tukey_insec_poroto
## $statistics
##     MSerror Df    Mean       CV       MSD
##   0.0526575 20 1.86375 12.31239 0.1954165
## 
## $parameters
##    test      name.t ntr StudentizedRange alpha
##   Tukey Insecticida   2         2.949998  0.05
## 
## $means
##    Rendimiento       std  r         se  Min Max    Q25  Q50    Q75
## D0    1.388333 0.4453157 12 0.06624292 0.85 2.1 1.0225 1.34 1.7875
## D1    2.339167 0.3596073 12 0.06624292 1.78 2.8 1.9825 2.45 2.6250
## 
## $comparison
## NULL
## 
## $groups
##    Rendimiento groups
## D1    2.339167      a
## D0    1.388333      b
## 
## attr(,"class")
## [1] "group"
plot(Tukey_insec_poroto)

Conclusiones de comparación de medias: resulta significativa la diferencia entre medias, tanto para el factor Variedad como el factor Insecticida.

12.Visualización de medias de tratamientos

ggplot(POROTO, aes(x = Variedad, y = Rendimiento, fill = Insecticida)) +
  stat_summary(fun = mean,                 # calcula la media para cada tratamiento
               geom = "bar",               # usa barras para mostrar la media de cada 
               position = position_dodge(width = 0.9)) + # evita que las barras se superpongan
  labs(x = "Variedad",
       y = "Rendimiento") + 
  theme_minimal()

E. Conclusiones

Los resultados de análisis gráficos y test estadísticos realizados indican que no hay interacción entre las dosis de insecticida y las variedades en el rendimiento en kg/Ha de poroto. Son significativas las diferencias en rendimiento tanto para el factor Variedad, como el factor Insecticida, por separado.Al respecto, la variedad V2 (Mung) presenta mayores rendimientos promedio que la variedad V1 (Alubia). EN el caso de las dosis de insecticida, D0 (sin insectida) presenta menor rendimiento promedio que D1 (con insecticida en dosis según marbete).