Una empresa electrónica busca contratar el proveedor con la mejor calidad de insumos, para ello evalúa de forma aleatoria muestras de la materia prima proveniente de tres proveedores en el último mes, dando puntuaciones de calidad de 0-100. Haga un análisis de los datos obtenidos usando el análisis de varianzas y las pruebas pertinentes. Concluya sobre ¿Cuál empresa posee mejor calidad en sus productos?
Ho= μ1=μ2=μ3 Las medias son iguales HA= μ1≠μn Alguna de las medias es diferente
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.4 v dplyr 1.0.7
## v tidyr 1.1.4 v stringr 1.4.0
## v readr 2.0.2 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(ggpubr)
library(rstatix)
##
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
##
## filter
ID<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
A<-c(75,72,87,77,84,82,84,81,78,97,85,81,95,81,72,89,84,73,NA,NA,NA)
B<-c(94,87,80,86,80,67,86,82,86,82,72,77,87,68,80,76,68,86,74,86,90)
C<-c(90,86,92,75,79,94,95,85,86,92,92,85,87,86,92,85,93,89,83,NA,NA)
df<-data.frame(ID=ID,A=A,B=B,C=C)
df
## ID A B C
## 1 1 75 94 90
## 2 2 72 87 86
## 3 3 87 80 92
## 4 4 77 86 75
## 5 5 84 80 79
## 6 6 82 67 94
## 7 7 84 86 95
## 8 8 81 82 85
## 9 9 78 86 86
## 10 10 97 82 92
## 11 11 85 72 92
## 12 12 81 77 85
## 13 13 95 87 87
## 14 14 81 68 86
## 15 15 72 80 92
## 16 16 89 76 85
## 17 17 84 68 93
## 18 18 73 86 89
## 19 19 NA 74 83
## 20 20 NA 86 NA
## 21 21 NA 90 NA
df <- df %>% gather(key="Proveedor",value="Calidad",A,B,C) %>% convert_as_factor(ID,Proveedor)
df
## ID Proveedor Calidad
## 1 1 A 75
## 2 2 A 72
## 3 3 A 87
## 4 4 A 77
## 5 5 A 84
## 6 6 A 82
## 7 7 A 84
## 8 8 A 81
## 9 9 A 78
## 10 10 A 97
## 11 11 A 85
## 12 12 A 81
## 13 13 A 95
## 14 14 A 81
## 15 15 A 72
## 16 16 A 89
## 17 17 A 84
## 18 18 A 73
## 19 19 A NA
## 20 20 A NA
## 21 21 A NA
## 22 1 B 94
## 23 2 B 87
## 24 3 B 80
## 25 4 B 86
## 26 5 B 80
## 27 6 B 67
## 28 7 B 86
## 29 8 B 82
## 30 9 B 86
## 31 10 B 82
## 32 11 B 72
## 33 12 B 77
## 34 13 B 87
## 35 14 B 68
## 36 15 B 80
## 37 16 B 76
## 38 17 B 68
## 39 18 B 86
## 40 19 B 74
## 41 20 B 86
## 42 21 B 90
## 43 1 C 90
## 44 2 C 86
## 45 3 C 92
## 46 4 C 75
## 47 5 C 79
## 48 6 C 94
## 49 7 C 95
## 50 8 C 85
## 51 9 C 86
## 52 10 C 92
## 53 11 C 92
## 54 12 C 85
## 55 13 C 87
## 56 14 C 86
## 57 15 C 92
## 58 16 C 85
## 59 17 C 93
## 60 18 C 89
## 61 19 C 83
## 62 20 C NA
## 63 21 C NA
df %>% group_by(Proveedor) %>% get_summary_stats(Calidad,type="mean_sd")
## # A tibble: 3 x 5
## Proveedor variable n mean sd
## <fct> <chr> <dbl> <dbl> <dbl>
## 1 A Calidad 18 82.1 7.12
## 2 B Calidad 21 80.7 7.60
## 3 C Calidad 19 87.7 5.23
df
## ID Proveedor Calidad
## 1 1 A 75
## 2 2 A 72
## 3 3 A 87
## 4 4 A 77
## 5 5 A 84
## 6 6 A 82
## 7 7 A 84
## 8 8 A 81
## 9 9 A 78
## 10 10 A 97
## 11 11 A 85
## 12 12 A 81
## 13 13 A 95
## 14 14 A 81
## 15 15 A 72
## 16 16 A 89
## 17 17 A 84
## 18 18 A 73
## 19 19 A NA
## 20 20 A NA
## 21 21 A NA
## 22 1 B 94
## 23 2 B 87
## 24 3 B 80
## 25 4 B 86
## 26 5 B 80
## 27 6 B 67
## 28 7 B 86
## 29 8 B 82
## 30 9 B 86
## 31 10 B 82
## 32 11 B 72
## 33 12 B 77
## 34 13 B 87
## 35 14 B 68
## 36 15 B 80
## 37 16 B 76
## 38 17 B 68
## 39 18 B 86
## 40 19 B 74
## 41 20 B 86
## 42 21 B 90
## 43 1 C 90
## 44 2 C 86
## 45 3 C 92
## 46 4 C 75
## 47 5 C 79
## 48 6 C 94
## 49 7 C 95
## 50 8 C 85
## 51 9 C 86
## 52 10 C 92
## 53 11 C 92
## 54 12 C 85
## 55 13 C 87
## 56 14 C 86
## 57 15 C 92
## 58 16 C 85
## 59 17 C 93
## 60 18 C 89
## 61 19 C 83
## 62 20 C NA
## 63 21 C NA
bxp<-ggboxplot(df,x="Proveedor",y="Calidad", add="point")
bxp
## Warning: Removed 5 rows containing non-finite values (stat_boxplot).
## Warning: Removed 5 rows containing missing values (geom_point).
df %>% group_by(Proveedor) %>% identify_outliers(Calidad)
## # A tibble: 1 x 5
## Proveedor ID Calidad is.outlier is.extreme
## <fct> <fct> <dbl> <lgl> <lgl>
## 1 A 10 97 TRUE FALSE
df %>% group_by(Proveedor) %>% shapiro_test(Calidad)
## # A tibble: 3 x 4
## Proveedor variable statistic p
## <fct> <chr> <dbl> <dbl>
## 1 A Calidad 0.949 0.410
## 2 B Calidad 0.939 0.205
## 3 C Calidad 0.931 0.179
ggqqplot(df,"Calidad",facet.by="Proveedor")
## Warning: Removed 5 rows containing non-finite values (stat_qq).
## Warning: Removed 5 rows containing non-finite values (stat_qq_line).
## Warning: Removed 5 rows containing non-finite values (stat_qq_line).
res.aov<-anova_test(data=df,dv=Calidad,wid=ID,within=Proveedor)
## Warning: NA detected in rows: 19,20,21,62,63.
## Removing this rows before the analysis.
get_anova_table(res.aov)
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 Proveedor 2 34 5.781 0.007 * 0.201
pwc<-df %>% pairwise_t_test(Calidad~Proveedor,paired=TRUE,p.adjust.method="bonferroni")
pwc
## # A tibble: 3 x 10
## .y. group1 group2 n1 n2 statistic df p p.adj p.adj.signif
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> <chr>
## 1 Calidad A B 21 21 0.674 17 0.51 1 ns
## 2 Calidad A C 21 21 -3.07 17 0.007 0.021 *
## 3 Calidad B C 21 21 -3.42 18 0.003 0.009 **
pwc <- pwc %>% add_xy_position(x="Proveedor")
bxp+
stat_pvalue_manual(pwc) +
labs(subtitle = get_test_label(res.aov,detailed=TRUE),caption=get_pwc_label(pwc))
## Warning: Removed 5 rows containing non-finite values (stat_boxplot).
## Warning: Removed 5 rows containing missing values (geom_point).
En el diagrama de cajas y bigotes, se observan a los proveedores 1 y 2 obtuvieron peor calificación que el 3. El único outliers que se muestra no es significativo, por lo que no se descarta de la muestra. Los datos presentan un comportamiento normal según la prueba de Shapiro, con un valor de p >0.05, al 95% de confianza, en los gráficos de normalidad, se presentan una distribución normal de los datos. Con el análisis de varianza ANOVA se demuestra un efecto significativo del proveedor con p<0.05 al 95% de confianza. En la prueba de Bonferroni de comparación de medias, se puede decir que la calidad 3 es significativa con respecto a los grupos A y B con un valor de p<0.05 y 95% de confianza. Con los datos obtenidos con p<0.05 podemos rechazar la hipótesis nula de igualdad de medias y se acepta la Ha de que al menos una media es diferente.Podemos concluir que el proveedor 3 debe ser contratado por la empresa, ya que la calidad de insumos es superior a la calidad de los otros proveedores.