Cargar de datos y librerias
library(readxl)
library(agricolae)
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
library(car)
## Cargando paquete requerido: carData
##
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
dtAntimicrobianos <- read_excel("Antimicrobianos.xlsx",
sheet = "Antimicrobianos")
head(dtAntimicrobianos)
## # A tibble: 6 × 4
## Muestra Origen Antibiotico Diametro_inhibicion
## <dbl> <chr> <chr> <dbl>
## 1 1 Piña Ampicilina 12
## 2 1 Piña Carbencilina 22
## 3 1 Piña Estreptomicina 15
## 4 1 Piña Nitrofurantoina 24
## 5 2 Piña Ampicilina 12
## 6 2 Piña Carbencilina 24
##Análisis de Varianza para diseño dos factores con repetición
##Los resultados del ANOVA permiten evaluar si existen diferencias significativas en el diámetro de inhibición debido al origen, al antibiótico y a la interacción entre ambos factores.
##Identificacíón de factores
dtAntimicrobianos$Origen <- as.factor(dtAntimicrobianos$Origen)
dtAntimicrobianos$Antibiotico <- as.factor(dtAntimicrobianos$Antibiotico)
head(dtAntimicrobianos)
## # A tibble: 6 × 4
## Muestra Origen Antibiotico Diametro_inhibicion
## <dbl> <fct> <fct> <dbl>
## 1 1 Piña Ampicilina 12
## 2 1 Piña Carbencilina 22
## 3 1 Piña Estreptomicina 15
## 4 1 Piña Nitrofurantoina 24
## 5 2 Piña Ampicilina 12
## 6 2 Piña Carbencilina 24
##Análisis de Varianza ANOVA para dos factores con interacción
anAntimicrobianos <- aov(Diametro_inhibicion~
Origen +
Antibiotico+
Origen * Antibiotico ,
data=dtAntimicrobianos)
summary(anAntimicrobianos)
## Df Sum Sq Mean Sq F value Pr(>F)
## Origen 2 183.1 91.6 11.807 2.30e-05 ***
## Antibiotico 3 1496.6 498.9 64.333 < 2e-16 ***
## Origen:Antibiotico 6 337.5 56.3 7.255 1.59e-06 ***
## Residuals 108 837.5 7.8
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##Análisis a Posteriori por factor
tukey_Ori <- HSD.test(anAntimicrobianos, trt = "Origen", alpha=0.01, console = TRUE)
##
## Study: anAntimicrobianos ~ "Origen"
##
## HSD Test for Diametro_inhibicion
##
## Mean Square Error: 7.75463
##
## Origen, means
##
## Diametro_inhibicion std r se Min Max Q25 Q50
## Mango 15.425 4.075490 40 0.4403019 8 24 13.50 16.0
## Piña 17.000 6.025586 40 0.4403019 7 28 12.00 17.5
## Tomate_cherry 18.450 3.948060 40 0.4403019 8 25 16.75 20.0
## Q75
## Mango 18.00
## Piña 21.25
## Tomate_cherry 21.00
##
## Alpha: 0.01 ; DF Error: 108
## Critical Value of Studentized Range: 4.208953
##
## Minimun Significant Difference: 1.85321
##
## Treatments with the same letter are not significantly different.
##
## Diametro_inhibicion groups
## Tomate_cherry 18.450 a
## Piña 17.000 ab
## Mango 15.425 b
tukey_Anti <- HSD.test(anAntimicrobianos, trt = "Antibiotico", alpha=0.01, console = TRUE)
##
## Study: anAntimicrobianos ~ "Antibiotico"
##
## HSD Test for Diametro_inhibicion
##
## Mean Square Error: 7.75463
##
## Antibiotico, means
##
## Diametro_inhibicion std r se Min Max Q25 Q50 Q75
## Ampicilina 14.13333 4.523756 30 0.5084168 7 20 10.00 15 18
## Carbencilina 21.76667 2.595531 30 0.5084168 16 28 20.00 22 24
## Estreptomicina 13.06667 2.333169 30 0.5084168 8 16 11.25 13 15
## Nitrofurantoina 18.86667 3.766763 30 0.5084168 10 28 18.00 20 21
##
## Alpha: 0.01 ; DF Error: 108
## Critical Value of Studentized Range: 4.507698
##
## Minimun Significant Difference: 2.29179
##
## Treatments with the same letter are not significantly different.
##
## Diametro_inhibicion groups
## Carbencilina 21.76667 a
## Nitrofurantoina 18.86667 b
## Ampicilina 14.13333 c
## Estreptomicina 13.06667 c
##Análisis a Posteriori de la interaccion de factores
#TUKEY
tukey_Res <- HSD.test(anAntimicrobianos, trt = c("Origen", "Antibiotico"), alpha = 0.01, console = TRUE)
##
## Study: anAntimicrobianos ~ c("Origen", "Antibiotico")
##
## HSD Test for Diametro_inhibicion
##
## Mean Square Error: 7.75463
##
## Origen:Antibiotico, means
##
## Diametro_inhibicion std r se Min
## Mango:Ampicilina 13.0 3.2998316 10 0.8806037 8
## Mango:Carbencilina 20.0 2.4944383 10 0.8806037 16
## Mango:Estreptomicina 13.1 3.0713732 10 0.8806037 8
## Mango:Nitrofurantoina 15.6 3.0983867 10 0.8806037 10
## Piña:Ampicilina 10.9 4.4083255 10 0.8806037 7
## Piña:Carbencilina 22.9 2.4698178 10 0.8806037 20
## Piña:Estreptomicina 13.3 1.6363917 10 0.8806037 11
## Piña:Nitrofurantoina 20.9 4.1217580 10 0.8806037 13
## Tomate_cherry:Ampicilina 18.5 1.1785113 10 0.8806037 17
## Tomate_cherry:Carbencilina 22.4 2.0110804 10 0.8806037 20
## Tomate_cherry:Estreptomicina 12.8 2.2997584 10 0.8806037 8
## Tomate_cherry:Nitrofurantoina 20.1 0.9944289 10 0.8806037 18
## Max Q25 Q50 Q75
## Mango:Ampicilina 18 10.00 14.0 15.50
## Mango:Carbencilina 24 18.00 20.0 22.00
## Mango:Estreptomicina 16 10.25 14.0 16.00
## Mango:Nitrofurantoina 20 14.00 16.0 18.00
## Piña:Ampicilina 20 8.00 8.5 12.00
## Piña:Carbencilina 28 21.25 22.5 24.00
## Piña:Estreptomicina 16 12.00 13.0 14.75
## Piña:Nitrofurantoina 28 19.25 20.5 23.25
## Tomate_cherry:Ampicilina 20 18.00 18.0 19.75
## Tomate_cherry:Carbencilina 25 21.00 22.0 24.00
## Tomate_cherry:Estreptomicina 16 11.50 13.0 14.00
## Tomate_cherry:Nitrofurantoina 21 20.00 20.0 21.00
##
## Alpha: 0.01 ; DF Error: 108
## Critical Value of Studentized Range: 5.460163
##
## Minimun Significant Difference: 4.80824
##
## Treatments with the same letter are not significantly different.
##
## Diametro_inhibicion groups
## Piña:Carbencilina 22.9 a
## Tomate_cherry:Carbencilina 22.4 a
## Piña:Nitrofurantoina 20.9 a
## Tomate_cherry:Nitrofurantoina 20.1 ab
## Mango:Carbencilina 20.0 ab
## Tomate_cherry:Ampicilina 18.5 ab
## Mango:Nitrofurantoina 15.6 bc
## Piña:Estreptomicina 13.3 c
## Mango:Estreptomicina 13.1 c
## Mango:Ampicilina 13.0 c
## Tomate_cherry:Estreptomicina 12.8 c
## Piña:Ampicilina 10.9 c
tukey_Res$groups
## Diametro_inhibicion groups
## Piña:Carbencilina 22.9 a
## Tomate_cherry:Carbencilina 22.4 a
## Piña:Nitrofurantoina 20.9 a
## Tomate_cherry:Nitrofurantoina 20.1 ab
## Mango:Carbencilina 20.0 ab
## Tomate_cherry:Ampicilina 18.5 ab
## Mango:Nitrofurantoina 15.6 bc
## Piña:Estreptomicina 13.3 c
## Mango:Estreptomicina 13.1 c
## Mango:Ampicilina 13.0 c
## Tomate_cherry:Estreptomicina 12.8 c
## Piña:Ampicilina 10.9 c
##La prueba de Tukey permitió identificar diferencias significativas entre las combinaciones de origen y antibiótico, agrupándolas en categorías homogéneas.
##Graficas rapidas Tukey
interaction.plot(dtAntimicrobianos$Origen,
dtAntimicrobianos$Antibiotico,
dtAntimicrobianos$Diametro_inhibicion,
main = "EFECTO DEL ORIGEN Y ANTIBIÓTICO SOBRE EL DIAMETRO DE INHIBICIÓN",
xlab = "Origen",
ylab = "Diámetro de inhibición",
trace.label = "Antibiótico")

##Grafico completo
##Media EE
two_fct_means <- dtAntimicrobianos %>%
group_by(Origen, Antibiotico) %>%
summarise(
av_res = mean(Diametro_inhibicion),
sd_res = sd(Diametro_inhibicion),
n = n(),
.groups = "drop"
) %>%
mutate(
se_res = sd_res / sqrt(n),
group = unlist(tukey_Res$groups["groups"])
)
##Grafico con lineas para ver efecto interaccion
#Convertir el resultado de Tukey en un dataframe limpio
letras_tukey <- as.data.frame(tukey_Res$groups)
letras_tukey$combinacion <- rownames(letras_tukey) # Los nombres de fila son "Origen:Antibiotico"
two_fct_means <- dtAntimicrobianos %>%
group_by(Origen, Antibiotico) %>%
summarise(
av_res = mean(Diametro_inhibicion),
sd_res = sd(Diametro_inhibicion),
n = n(),
.groups = "drop"
) %>%
mutate(
se_res = sd_res / sqrt(n),
combinacion = paste(Origen, Antibiotico, sep = ":")
)
two_fct_means <- left_join(two_fct_means, letras_tukey, by = "combinacion")
ggplot(two_fct_means,
aes(x = Origen,
y = av_res,
colour = Antibiotico,
group = Antibiotico)) +
geom_line(linewidth = 1) +
geom_point(size = 3) +
geom_errorbar(aes(ymin = av_res - se_res, ymax = av_res + se_res), width = 0.1) +
geom_text(aes(label = groups, y = av_res + se_res + 0.5), vjust = 0) +
labs(title = "EFECTO DEL ORIGEN Y ANTIBIÓTICO SOBRE EL DIAMETRO DE INHIBICIÓN", x = "Origen", y = "Media de diametro de inhibición (± EE)") +
theme_classic()

##Supuestos
##A. Supuesto de Normalidad
#Grafico QQ Residuals
plot(anAntimicrobianos, 2)

##Test de Normalidad
shapiro.test(anAntimicrobianos$residuals)
##
## Shapiro-Wilk normality test
##
## data: anAntimicrobianos$residuals
## W = 0.9867, p-value = 0.2902
##La prueba de Shapiro-Wilk se utilizó para evaluar la normalidad de los residuos. Un valor de p mayor a 0.05 indica que no se rechaza el supuesto de normalidad.
##B. Supuesto de Homogenidad de varianza
#Graficas 1, 3 y 5
plot(anAntimicrobianos, 1)

plot(anAntimicrobianos, 3)

plot(anAntimicrobianos, 5)

##Test homogeneidad de varianza de Levene
leveneTest(dtAntimicrobianos$Diametro_inhibicion,
group=dtAntimicrobianos$Origen:dtAntimicrobianos$Antibiotico,
center = "median")
## Levene's Test for Homogeneity of Variance (center = "median")
## Df F value Pr(>F)
## group 11 1.6002 0.1087
## 108
##La prueba de Levene se empleó para verificar la homogeneidad de varianzas entre tratamientos.
##C. Supuesto Independencia
##Durbin Watson
durbinWatsonTest(anAntimicrobianos)
## lag Autocorrelation D-W Statistic p-value
## 1 0.3707343 1.25403 0
## Alternative hypothesis: rho != 0
##El estadístico de Durbin-Watson fue cercano a 0, sugiriendo autocorrelación; no obstante, al tratarse de un diseño experimental y no de series de tiempo, este resultado no compromete la independencia de los residuos.