1.1. Considerar una población de recién nacidos, en los cuales interesa estudiar la variable talla. Se puede suponer que la talla de los recién nacidos es una variable aleatoria con distribución normal con media 50 cm y desviación estándar 2 cm. Responder las siguientes preguntas: ¿Cuál es la probabilidad de que un niño mida menos de 45 cm al nacer?

Media <- 50
Estandar <- 2
probabilidad <- pnorm(45, mean = Media, sd = Estandar)
probabilidad
## [1] 0.006209665
x <- seq(40, 60, by = 0.1)
y <- dnorm(x, mean = Media, sd = Estandar)
plot(x, y, type = "l", col = "blue", lwd = 2, 
     main = "Distribución Normal de la Talla de Recién Nacidos",
     xlab = "Talla (cm)", ylab = "Densidad de Probabilidad")
polygon(c(40, x[x <= 45], 45), 
        c(0, y[x <= 45], 0), 
        col = rgb(0, 0, 1, 0.3), border = NA)
abline(v = 45, col = "red", lwd = 2, lty = 2)
text(43, 0.15, paste("P(X < 45) =", round(probabilidad, 4)), col = "green")

1.2.¿Cuál es la probabilidad de que un niño al nacer mida a lo menos 52 cm?

probabilidad2 <- 1 - pnorm(52, mean = Media, sd = Estandar)
probabilidad2
## [1] 0.1586553
x <- seq(40, 60, by = 0.1)
y <- dnorm(x, mean = Media, sd = Estandar)
plot(x, y, type = "l", col = "blue", lwd = 2,
     main = "Probabilidad de que un recién nacido mida al menos 52 cm",
     xlab = "Talla (cm)", ylab = "Densidad de Probabilidad")
polygon(c(52, x[x >= 52], 60), 
        c(0, y[x >= 52], 0), 
        col = rgb(1, 0, 0, 0.3), border = NA)
abline(v = 52, col = "red", lwd = 2, lty = 2)
text(54, 0.1, paste("P(X ≥ 52) ≈", round(1 - pnorm(52, mean = Media, sd = Estandar), 4)), col = "green")

1.3. ¿Qué porcentaje de recién nacidos que mide entre 48 y 52 cm?

probabilidad3 <- pnorm(52, mean = Media, sd = Estandar) - pnorm(48, mean = Media, sd = Estandar)
porcentaje <- probabilidad3 * 100
porcentaje
## [1] 68.26895
x <- seq(40, 60, by = 0.1)
y <- dnorm(x, mean = Media, sd = Estandar)
plot(x, y, type = "l", lwd = 2, col = "blue",
     main = "Distribución Normal de Tallas de Recién Nacidos",
     xlab = "Talla (cm)", ylab = "Densidad")
x_sombra <- seq(48, 52, by = 0.1)
y_sombra <- dnorm(x_sombra, mean = Media, sd = Estandar)
polygon(c(48, x_sombra, 52),
        c(0, y_sombra, 0),
        col = rgb(0, 1, 0, 0.4), border = NA)
abline(v = 48, col = "red", lty = 2)
abline(v = 52, col = "red", lty = 2)
probabilidad <- pnorm(52, mean = Media, sd = Estandar) - pnorm(48, mean = Media, sd = Estandar)
text(50, 0.1, paste0("P(48 ≤ X ≤ 52) ≈ ", round(probabilidad3 * 100, 2), "%"), col = "darkgreen")

1.4.Si nacen 200 niños en un mes, ¿cuántos de ellos medirán entre 48 y 52 cm?

Media <- 50
Estandar <- 2
Total_Niños <- 200
probabilidad4 <- pnorm(52, mean = Media, sd = Estandar ) - pnorm(48, mean = Media, sd = Estandar)
Total <- probabilidad4 * Total_Niños
print(Total)
## [1] 136.5379

137 Niños serian los que mediran entre 48 y 52 CM

2. La temperatura del mes de abril en la ciudad de Lima, tomada siempre al mediodía, sigue una distribución normal con media de 36 °C y desviación estándar de 3 °C. Responder: ¿Cuántos días del mes de abril se espera que tengan una temperatura entre 39 y 42 °C?

Media2 <- 36
Desviacion2 <- 3
Abril <- 30

probabilidad5 <- pnorm(42, mean = Media2, sd = Desviacion2) - pnorm(39, mean = Media2, sd = Desviacion2)
dias_esperados <- probabilidad5 * Abril
cat("Número esperado de días con temperatura entre 39°C y 42°C:", round(dias_esperados), "\n")
## Número esperado de días con temperatura entre 39°C y 42°C: 4

Se espra que sean 4 dias del mes de Abril que tengan temperatura entre 39 y 42 °C

x <- seq(25, 48, length = 500)
y <- dnorm(x, mean = Media2, sd = Desviacion2)
plot(x, y, type = "l", lwd = 2, col = "darkorange", ylab = "Densidad", xlab = "Temperatura (°C)",
     main = "Distribución Normal de la Temperatura en Abril")
x_sombreado <- seq(39, 42, length = 500)
y_sombreado <- dnorm(x_sombreado, mean = Media2, sd = Desviacion2)
polygon(c(39, x_sombreado, 42), c(0, y_sombreado, 0), col = rgb(1, 0.5, 0, 0.3), border = NA)
abline(v = Media2, col = "red", lty = 2)

3. Se extrae una muestra de 15 vendedores de una tienda de venta de libros para estimar el valor medio de las ventas por trabajador de la tienda. Se sabe que la media y varianza de la muestra (en miles de euros) son 5 y 2, respectivamente. Encontrar el intervalo de confianza para la venta media por trabajador de la tienda de libros al 90.

media_muestral <- 5
var_muestral <- 2
n <- 15
nivel_confianza <- 0.90
Desviacion_Estandar <- sqrt(var_muestral)
Grados<- n - 1
critico <- qt(1 - (1 - nivel_confianza)/2, Grados)
error_estandar <- Desviacion_Estandar/ sqrt(n)
lim_inf <- media_muestral - critico * error_estandar
lim_sup <- media_muestral + critico * error_estandar
cat("Intervalo de confianza al 90% para la media de ventas (en miles de euros):\n")
## Intervalo de confianza al 90% para la media de ventas (en miles de euros):
cat("[", round(lim_inf, 3), ",", round(lim_sup, 3), "]\n")
## [ 4.357 , 5.643 ]

Se tiene un intervalo de confianza al 90% de un rango de: 4.357 a 5.643

4. Para estimar la demanda diaria de un producto que registra una empresa se seleccionan 11 días al azar con los siguientes valores en miles 35, 44, 38, 55, 33, 56, 67, 45, 48, 40, 43. Encontrar el intervalo de confianza para la demanda media diaria a un nivel de confianza del 95%

demanda <- c(35, 44, 38, 55, 33, 56, 67, 45, 48, 40, 43)
n <- length(demanda)
muestral <- mean(demanda)
desvi <- sd(demanda)
df <- n - 1
confianza <- 0.05
Critico2 <- qt(1 - (1 - confianza)/2, df)
error <- desvi / sqrt(n)
lim_inf <- muestral - Critico2 * error
lim_sup <- muestral + Critico2 * error
cat("Intervalo de confianza al 95% para la demanda media diaria (en miles):\n")
## Intervalo de confianza al 95% para la demanda media diaria (en miles):
cat("[", round(lim_inf, 2), ",", round(lim_sup, 2), "]\n")
## [ 45.62 , 46.01 ]

Intervalo de confianza al 95%: 45.62 a 46.01

5.En una auditoria se desea contrastar a un nivel de significación de 0.05 la hipótesis nula de que la media de las deudas por cobrar de una empresa es de 160.000 euros. Para ello se selecciona una muestra al azar de 50 de dichas deudas con un valor medio y cuasi-desviación típica muestrales 188.000 y de 81.000, respectivamente. Determinar si se rechaza a acepta la hipótesis planteada.

hipotetica <- 160000
muestra <- 188000
dem <- 81000
n2 <- 50
NS <- 0.05
t <- (muestra - hipotetica) / (dem / sqrt(n2))
grados2 <- n - 1
critico3 <- qt(1 -NS/2, grados2)
p <- 2 * (1 - pt(abs(t), grados2))
cat("Estadístico t observado:", round(t, 3), "\n")
## Estadístico t observado: 2.444
cat("Valor crítico (±):", round(critico3, 3), "\n")
## Valor crítico (±): 2.228
cat("p-valor:", round(p, 4), "\n")
## p-valor: 0.0346
if (abs(t) > critico3) {
  cat("→ Se rechaza H0: la media no es 160,000 euros.\n")
} else {
  cat("→ No se rechaza H0: no hay evidencia suficiente para decir que la media es distinta de 160,000 euros.\n")
}
## → Se rechaza H0: la media no es 160,000 euros.

Se rechaza H0 ya que el P-Valor 0.0346 es menor a 0.05, esto quiere decir que hay suficiente evidencia estadistica para afirmar quela media de las deudas por cobrar de una empresa es de 160.000 euros

6. Un fabricante afirma que la vida media de un componente electrónico supera las 1.500 horas. Se selecciona una muestra de 900 componentes de la producción para establecer un control de calidad obteniéndose los siguientes resultados: media y cuasi-varianza muestrales iguales a 1.450 y 650, respectivamente. Determinar si se rechaza o acepta la hipótesis planteada con un nivel de significancia del 5%.

hipo <- 1500
muest <- 1450
varm <- 650
SS <- sqrt(varm)
mues <- 900
alfa <- 0.05
observa <- (muest - hipo) / (SS / sqrt(mues))
df <- mues - 1
tcritico <- qt(1 - alfa, df)
p_valor <- pt(observa, df, lower.tail = TRUE)
cat("Estadístico t observado:", round(observa, 3), "\n")
## Estadístico t observado: -58.835
cat("Valor crítico t:", round(tcritico, 3), "\n")
## Valor crítico t: 1.647
cat("p-valor:", round(p_valor, 5), "\n")
## p-valor: 0
if (observa > tcritico) {
  cat("→ Se acepta la afirmación del fabricante: la vida media supera 1500 horas.\n")
} else {
  cat("→ Se rechaza la afirmación del fabricante: no hay evidencia de que la vida media supere 1500 horas.\n")
}
## → Se rechaza la afirmación del fabricante: no hay evidencia de que la vida media supere 1500 horas.

Se rechaza la afirmación del fabricante: no hay evidencia de que la vida media supere 1500 horas

7.Considerar las siguientes variables que representan el peso de personas del sexo: masculino y femenino respectivamente. Peso_hombre = (87.3, 80.0, 82.3, 73.6, 74.1, 85.9, 73.2, 76.3, 65.9,90.9, 89.1, 62.3, 82.7, 79.1, 98.2, 84.1, 83.2, 83.2) Peso_mujer (51.6, 59.0, 49.2, 63.0, 53.6, 59.0,47.6, 69.8, 66.8, 75.2, 55.2, 54.2, 62.5, 42.0, 50.0, 49.8, 49.2, 73.2)

a) Representar la información en dataframe.

peso_hombre <- c(87.3, 80.0, 82.3, 73.6, 74.1, 85.9, 73.2, 76.3, 65.9,90.9, 89.1, 62.3, 82.7, 79.1, 98.2, 84.1, 83.2, 83.2)
peso_mujer <- c(51.6, 59.0, 49.2, 63.0, 53.6, 59.0,47.6, 69.8, 66.8, 75.2, 55.2, 54.2,62.5, 42.0, 50.0, 49.8, 49.2, 73.2)
peso <- c(peso_hombre, peso_mujer)
sexo <- c(rep("Hombre", length(peso_hombre)), rep("Mujer", length(peso_mujer)))
datos_peso <- data.frame(Sexo = sexo, Peso = peso)
print(datos_peso)
##      Sexo Peso
## 1  Hombre 87.3
## 2  Hombre 80.0
## 3  Hombre 82.3
## 4  Hombre 73.6
## 5  Hombre 74.1
## 6  Hombre 85.9
## 7  Hombre 73.2
## 8  Hombre 76.3
## 9  Hombre 65.9
## 10 Hombre 90.9
## 11 Hombre 89.1
## 12 Hombre 62.3
## 13 Hombre 82.7
## 14 Hombre 79.1
## 15 Hombre 98.2
## 16 Hombre 84.1
## 17 Hombre 83.2
## 18 Hombre 83.2
## 19  Mujer 51.6
## 20  Mujer 59.0
## 21  Mujer 49.2
## 22  Mujer 63.0
## 23  Mujer 53.6
## 24  Mujer 59.0
## 25  Mujer 47.6
## 26  Mujer 69.8
## 27  Mujer 66.8
## 28  Mujer 75.2
## 29  Mujer 55.2
## 30  Mujer 54.2
## 31  Mujer 62.5
## 32  Mujer 42.0
## 33  Mujer 50.0
## 34  Mujer 49.8
## 35  Mujer 49.2
## 36  Mujer 73.2

b)Analizar la normalidad de cada una de las variables usando elementos gráficos: histograma, boxplot,curva de densidad, qqplot y pruebas de normalidad.

Histogramas

hist(peso_hombre, probability = TRUE, main = "Histograma Peso Hombre", col = "lightblue", xlab = "Peso (kg)")
lines(density(peso_hombre), col = "red", lwd = 2)

hist(peso_mujer, probability = TRUE, main = "Histograma Peso Mujer", col = "pink", xlab = "Peso (kg)")
lines(density(peso_mujer), col = "red", lwd = 2)

Boxplot

boxplot(peso_hombre, main = "Boxplot Peso Hombre", col = "lightgreen", horizontal = TRUE)

boxplot(peso_mujer, main = "Boxplot Peso Mujer", col = "orange", horizontal = TRUE)

curvas de densidad

library(ggplot2)
peso_hombre <- c(87.3, 80.0, 82.3, 73.6, 74.1, 85.9, 73.2, 76.3, 65.9,90.9, 89.1, 62.3, 82.7, 79.1, 98.2, 84.1, 83.2, 83.2)
peso_mujer <- c(51.6, 59.0, 49.2, 63.0, 53.6, 59.0,47.6, 69.8, 66.8, 75.2, 55.2, 54.2,62.5, 42.0, 50.0, 49.8, 49.2, 73.2)
peso <- c(peso_hombre, peso_mujer)
sexo <- factor(rep(c("Hombre", "Mujer"), each = 18))
datos_peso <- data.frame(Sexo = sexo, Peso = peso)
ggplot(datos_peso, aes(x = peso, fill = sexo, color = sexo)) +
  geom_density(alpha = 0.4, lwd = 1) +
  labs(title = "Curvas de Densidad del Peso por Sexo",
       x = "Peso (kg)",
       y = "Densidad") +
  theme_minimal()

QQPlot

qqnorm(peso_hombre, main = "QQ-Plot Peso Hombre")
qqline(peso_hombre, col = "red", lwd = 2)

qqnorm(peso_mujer, main = "QQ-Plot Peso Mujer")
qqline(peso_mujer, col = "blue", lwd = 2)

Pruebas estadísticas de normalidad

shapiro.test(peso_hombre)
## 
##  Shapiro-Wilk normality test
## 
## data:  peso_hombre
## W = 0.97803, p-value = 0.9274
shapiro.test(peso_mujer)
## 
##  Shapiro-Wilk normality test
## 
## data:  peso_mujer
## W = 0.94709, p-value = 0.3812

Kolmogorov-Smirnov

ks.test(peso_hombre, "pnorm", mean=mean(peso_hombre), sd=sd(peso_hombre))
## Warning in ks.test.default(peso_hombre, "pnorm", mean = mean(peso_hombre), :
## ties should not be present for the one-sample Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  peso_hombre
## D = 0.13078, p-value = 0.9178
## alternative hypothesis: two-sided
ks.test(peso_mujer, "pnorm", mean=mean(peso_mujer), sd=sd(peso_mujer))
## Warning in ks.test.default(peso_mujer, "pnorm", mean = mean(peso_mujer), : ties
## should not be present for the one-sample Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  peso_mujer
## D = 0.14245, p-value = 0.8584
## alternative hypothesis: two-sided

Conclusion Los P-Valor son mayores a 0.05 esto quiere decir que no se rechaza la H0 y se siguiere una distribucvion Norma

c) Graficar las curvas de densidad en un plano cartesiano. Comparar estas gráficas y explicar.

densidad_hombres <- density(peso_hombre)
densidad_mujeres <- density(peso_mujer)
plot(densidad_hombres, col = "blue", lwd = 2, main = "Curvas de densidad de peso",
     xlab = "Peso (kg)", ylab = "Densidad", xlim = c(40, 100), ylim = c(0, 0.08))
lines(densidad_mujeres, col = "red", lwd = 2)
legend("topright", legend = c("Hombres", "Mujeres"), col = c("blue", "red"), lwd = 2)

Conclusion: Se puede observar cómo se comparan las distribuciones de peso entre los hombres y las mujeres, la curva de los hombres (azul) tiene en los valores de peso una mayoria por lo que su curva se desplaza hacia el costado derecho La curva de peso de las mujeres contiene mayor dispersión teniendo uan variabilidad alta en los datos en sus datos, y al contrario los datos de los hombres son mas agrupados

8.Se quiere estudiar el efecto de distintas dosis de un medicamento para combatir a los parásitos de peces criados en acuicultura. Para ello, se tomaron 60 peces al azar, y se dividieron en 5 grupos de 12 individuos cada uno. El primer grupo no fue medicado, pero a los restantes se les suministro el medicamento en dosis crecientes. Tras una semana de tratamiento, se contabilizaron los parásitos existentes en cada individuo

a. Validar las hipótesis de normalidad y homocedasticidad de los grupos. para no afectar la distribucion se decide eliminar el dato 602 de mg25

control <- c(50, 65, 72, 46, 38, 29, 70, 85, 72, 40, 57, 59)
mg25 <- c(49, 47, 30, 60, 62, 60, 19, 28, 56, 62, 55, 40)
mg50 <- c(20, 59, 64, 61, 28, 47, 29, 41, 60, 57, 61, 38)
mg100 <- c(20, 23, 38, 31, 27, 16, 27, 18, 22, 12, 24, 11)
mg125 <- c(18, 30, 22, 26, 31, 11, 15, 12, 31, 36, 16, 13)

grupo <- factor(rep(c("Control", "mg25", "mg50", "mg100", "mg125"), each = 12))
parasitarios <- c(control, mg25, mg50, mg100, mg125)
datos <- data.frame(control = control)

ks.test(scale(control), "pnorm")
## Warning in ks.test.default(scale(control), "pnorm"): ties should not be present
## for the one-sample Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  scale(control)
## D = 0.11638, p-value = 0.9969
## alternative hypothesis: two-sided
ks.test(scale(mg25), "pnorm")
## Warning in ks.test.default(scale(mg25), "pnorm"): ties should not be present
## for the one-sample Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  scale(mg25)
## D = 0.19743, p-value = 0.7378
## alternative hypothesis: two-sided
ks.test(scale(mg50), "pnorm")
## Warning in ks.test.default(scale(mg50), "pnorm"): ties should not be present
## for the one-sample Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  scale(mg50)
## D = 0.23955, p-value = 0.4965
## alternative hypothesis: two-sided
ks.test(scale(mg100), "pnorm")
## Warning in ks.test.default(scale(mg100), "pnorm"): ties should not be present
## for the one-sample Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  scale(mg100)
## D = 0.11139, p-value = 0.9984
## alternative hypothesis: two-sided
ks.test(scale(mg125), "pnorm")
## Warning in ks.test.default(scale(mg125), "pnorm"): ties should not be present
## for the one-sample Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  scale(mg125)
## D = 0.16606, p-value = 0.8953
## alternative hypothesis: two-sided

Con la eliminacion del dato anteriormente mencionado se identifica qure no se rechaza la H0 ya que P-Valor es mayo a 0.05 asi que los datos tendran una istribucion normal

homocedasticidad

control <- c(50, 65, 72, 46, 38, 29, 70, 85, 72, 40, 57, 59)
mg25 <- c(49, 47, 30, 60, 62, 60, 19, 28, 56, 62, 55, 40)
mg50 <- c(20, 59, 64, 61, 28, 47, 29, 41, 60, 57, 61, 38)
mg100 <- c(20, 23, 38, 31, 27, 16, 27, 18, 22, 12, 24, 11)
mg125 <- c(18, 30, 22, 26, 31, 11, 15, 12, 31, 36, 16, 13)
valores <- c(control, mg25, mg50, mg100, mg125)
grupo <- factor(rep(c("Control", "25mg", "50mg", "100mg", "125mg"), each = 12))
bartlett.test(valores ~ grupo)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  valores by grupo
## Bartlett's K-squared = 9.3677, df = 4, p-value = 0.05254

No se rechaza H ya que P-Valor es mayor a 0.05, es decir que Las varianzas son homogéneas, teniendo de la misma forma una distribucion normal verificada por la prueva de Bartlett’s.

b) Contrastar si el medicamento es efectivo contra los parásitos y si existen diferencias según la dosis aplicada.

parasitarios <- c(control, mg25, mg50, mg100, mg125)
datos <- data.frame(control = control)
grupo <- factor(rep(c("Control", "25mg", "50mg", "100mg", "125mg"), each = 12))
modelo <- aov(parasitarios ~ grupo, data = datos)
summary(modelo)
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## grupo        4  12340    3085   17.63 2.3e-09 ***
## Residuals   55   9626     175                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Se tienen diferencias en los resultados, es decir uqe el medicamento si hace efecto segun las dosis aplicadas

c) Si es necesario, aplicar el test de Tukey para hacer el análisis múltiple

TukeyHSD(modelo)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = parasitarios ~ grupo, data = datos)
## 
## $grupo
##                     diff        lwr      upr     p adj
## 125mg-100mg   -0.6666667 -15.898704 14.56537 0.9999459
## 25mg-100mg    24.9166667   9.684630 40.14870 0.0002268
## 50mg-100mg    24.6666667   9.434630 39.89870 0.0002656
## Control-100mg 34.5000000  19.267963 49.73204 0.0000004
## 25mg-125mg    25.5833333  10.351296 40.81537 0.0001484
## 50mg-125mg    25.3333333  10.101296 40.56537 0.0001741
## Control-125mg 35.1666667  19.934630 50.39870 0.0000002
## 50mg-25mg     -0.2500000 -15.482037 14.98204 0.9999989
## Control-25mg   9.5833333  -5.648704 24.81537 0.3986122
## Control-50mg   9.8333333  -5.398704 25.06537 0.3723825
library(multcompView)
library(agricolae)
media <- with(datos, tapply(parasitarios, grupo, mean))
anova_agricolae <- aov(parasitarios ~ grupo, data = datos)
hsd <- HSD.test(modelo, "grupo", group = TRUE)
print(hsd)
## $statistics
##    MSerror Df Mean       CV      MSD
##   175.0121 55 39.1 33.83431 15.23204
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey  grupo   5         3.988545  0.05
## 
## $means
##         parasitarios       std  r       se Min Max   Q25  Q50   Q75
## 100mg       22.41667  7.786449 12 3.818945  11  38 17.50 22.5 27.00
## 125mg       21.75000  8.739929 12 3.818945  11  36 14.50 20.0 30.25
## 25mg        47.33333 14.828310 12 3.818945  19  62 37.50 52.0 60.00
## 50mg        47.08333 15.447614 12 3.818945  20  64 35.75 52.0 60.25
## Control     56.91667 16.719386 12 3.818945  29  85 44.50 58.0 70.50
## 
## $comparison
## NULL
## 
## $groups
##         parasitarios groups
## Control     56.91667      a
## 25mg        47.33333      a
## 50mg        47.08333      a
## 100mg       22.41667      b
## 125mg       21.75000      b
## 
## attr(,"class")
## [1] "group"
barplot(hsd$means[,1],
        names.arg = rownames(hsd$means),
        col = "lightblue",
        ylim = c(0, max(hsd$means[,1]) + 10),
        main = "Comparación de medias por grupo (Tukey)",
        ylab = "Número de parásitos",
        xlab = "Grupo de Tratamiento")
text(x = 1:5, y = hsd$means[,1] + 3, labels = hsd$groups$groups)

Se tiene evidencia para afirmar que el medicamento tiene efecto segun la cantidad aplicada para reducir los medicamento, en este caso por la diferenciacion de letra para los casos de 50 mg y control