PROBLEMA #6 ANOVA ( https://doi.org/10.1016/B978-0-12-805309-6.00009-X)

Con el propósito de solucionar un método de análisis químico (húmedo), se dispone de una gran cantidad de muestra que ha sido bien molida y mezclada. Se recogieron datos adecuados para poder realizar un ANOVA.Para empezar, se disolvieron 10 g de muestra en 100 mL de agua.El siguiente paso fue tomar varias alícuotas diferentes y recoger múltiples lecturas de cada una de ellas. Se colocaron seis alícuotas en cada uno de los seis frascos y se repitieron seis mediciones en cada uno de ellos. Estas alícuotas dieron los resultados mostrados en la Tabla 9-2.

X= Número de Alícuota

Considerando los datos realice:

Análisis de Anova, evaluando todos los supuestos. Analice los resultados obtenidos Genere algunas ideas que usted considere puedan describir el comportamiento de los datos y formule algunas mejoras para el mencionado experimento.

Datos

df<-read.csv("https://raw.githubusercontent.com/KilmaraAbrego/DATOS-1/main/PROBLEMA%20%236%20PROYECTO%20FINAL%20%20-%20Hoja%201.csv")
df
##     X1    X2   X3   X4   X5   X6
## 1 7.25 10.07 5.96 7.10 5.74 4.74
## 2 7.68  9.02 6.66 6.10 6.90 6.75
## 3 7.76  9.51 5.87 6.27 6.29 6.71
## 4 8.10 10.64 6.95 5.99 6.37 6.51
## 5 7.50 10.27 6.54 6.32 5.99 5.95
## 6 7.58  9.64 6.29 5.54 6.58 6.50
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
df <- df %>% gather(key="alicuota",value="score",X1,X2,X3,X4,X5,X6) %>% convert_as_factor(alicuota)
df
##    alicuota score
## 1        X1  7.25
## 2        X1  7.68
## 3        X1  7.76
## 4        X1  8.10
## 5        X1  7.50
## 6        X1  7.58
## 7        X2 10.07
## 8        X2  9.02
## 9        X2  9.51
## 10       X2 10.64
## 11       X2 10.27
## 12       X2  9.64
## 13       X3  5.96
## 14       X3  6.66
## 15       X3  5.87
## 16       X3  6.95
## 17       X3  6.54
## 18       X3  6.29
## 19       X4  7.10
## 20       X4  6.10
## 21       X4  6.27
## 22       X4  5.99
## 23       X4  6.32
## 24       X4  5.54
## 25       X5  5.74
## 26       X5  6.90
## 27       X5  6.29
## 28       X5  6.37
## 29       X5  5.99
## 30       X5  6.58
## 31       X6  4.74
## 32       X6  6.75
## 33       X6  6.71
## 34       X6  6.51
## 35       X6  5.95
## 36       X6  6.50

Resumen Estadístico

df %>% group_by(alicuota) %>% get_summary_stats(score,type="mean_sd")
## # A tibble: 6 x 5
##   alicuota variable     n  mean    sd
##   <fct>    <chr>    <dbl> <dbl> <dbl>
## 1 X1       score        6  7.64 0.284
## 2 X2       score        6  9.86 0.583
## 3 X3       score        6  6.38 0.418
## 4 X4       score        6  6.22 0.513
## 5 X5       score        6  6.31 0.413
## 6 X6       score        6  6.19 0.767
df
##    alicuota score
## 1        X1  7.25
## 2        X1  7.68
## 3        X1  7.76
## 4        X1  8.10
## 5        X1  7.50
## 6        X1  7.58
## 7        X2 10.07
## 8        X2  9.02
## 9        X2  9.51
## 10       X2 10.64
## 11       X2 10.27
## 12       X2  9.64
## 13       X3  5.96
## 14       X3  6.66
## 15       X3  5.87
## 16       X3  6.95
## 17       X3  6.54
## 18       X3  6.29
## 19       X4  7.10
## 20       X4  6.10
## 21       X4  6.27
## 22       X4  5.99
## 23       X4  6.32
## 24       X4  5.54
## 25       X5  5.74
## 26       X5  6.90
## 27       X5  6.29
## 28       X5  6.37
## 29       X5  5.99
## 30       X5  6.58
## 31       X6  4.74
## 32       X6  6.75
## 33       X6  6.71
## 34       X6  6.51
## 35       X6  5.95
## 36       X6  6.50

Visualización

bxp=ggboxplot(df,x="alicuota",y="score", add="point")
bxp

Supuestos del modelo

Outliers

df %>% group_by(alicuota) %>% identify_outliers(score)
## # A tibble: 4 x 4
##   alicuota score is.outlier is.extreme
##   <fct>    <dbl> <lgl>      <lgl>     
## 1 X1        8.1  TRUE       FALSE     
## 2 X4        7.1  TRUE       FALSE     
## 3 X4        5.54 TRUE       FALSE     
## 4 X6        4.74 TRUE       FALSE

Normalidad

df %>% group_by(alicuota) %>% shapiro_test(score)
## # A tibble: 6 x 4
##   alicuota variable statistic      p
##   <fct>    <chr>        <dbl>  <dbl>
## 1 X1       score        0.980 0.953 
## 2 X2       score        0.985 0.973 
## 3 X3       score        0.954 0.774 
## 4 X4       score        0.937 0.635 
## 5 X5       score        0.990 0.989 
## 6 X6       score        0.771 0.0320
ggqqplot(df,"score",facet.by="alicuota")

cÁLCULO DE ANOVA

modelo=lm(score~alicuota,data=df)
anova=aov(modelo)
summary(anova)
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## alicuota     5  63.86  12.773    47.4 2.4e-13 ***
## Residuals   30   8.08   0.269                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Comparación de medias

pwc=df%>%pairwise_t_test(score~alicuota,paired=TRUE,p.adjust.method = "bonferroni")
pwc
## # A tibble: 15 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 score X1     X2         6     6   -9.07       5 0.000272  0.004    **          
##  2 score X1     X3         6     6    9.29       5 0.000244  0.004    **          
##  3 score X1     X4         6     6    4.88       5 0.005     0.069    ns          
##  4 score X1     X5         6     6    9.02       5 0.00028   0.004    **          
##  5 score X1     X6         6     6    6.06       5 0.002     0.026    *           
##  6 score X2     X3         6     6   14.2        5 0.0000311 0.000466 ***         
##  7 score X2     X4         6     6   12.7        5 0.0000534 0.000801 ***         
##  8 score X2     X5         6     6    9.65       5 0.000203  0.003    **          
##  9 score X2     X6         6     6    7.94       5 0.00051   0.008    **          
## 10 score X3     X4         6     6    0.488      5 0.646     1        ns          
## 11 score X3     X5         6     6    0.369      5 0.727     1        ns          
## 12 score X3     X6         6     6    0.631      5 0.556     1        ns          
## 13 score X4     X5         6     6   -0.258      5 0.806     1        ns          
## 14 score X4     X6         6     6    0.0533     5 0.96      1        ns          
## 15 score X5     X6         6     6    0.606      5 0.571     1        ns