Universidad de Las Fuerzas Armadas ESPE: Diseño Experimental

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Universidad de las Fuerzas Armadas ESPE

Diseño Experimental

Massiel Zurita

25/8/2020

Taller 12: Anova en R

Cargar librería

ipak <- function(pkg){


new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
if (length(new.pkg))
install.packages(new.pkg, dependencies = TRUE)
sapply(pkg, require, character.only = TRUE)
}

En esta sección se carga la librería Ipak con paquetes dentro.

packages <- c("effectsize","haven", "apaTables", "DescTools","report","dplyr","rstatix","FSA","rcompanio


ipak(packages)

## Loading required package: effectsize

## Warning: package ’effectsize’ was built under R version 4.0.2

## Loading required package: haven

## Warning: package ’haven’ was built under R version 4.0.2

## Loading required package: apaTables

## Warning: package ’apaTables’ was built under R version 4.0.2

## Loading required package: DescTools

## Warning: package ’DescTools’ was built under R version 4.0.2

## Loading required package: report

## Loading required package: dplyr

1
## Warning: package ’dplyr’ was built under R version 4.0.2

##
## Attaching package: ’dplyr’

## The following objects are masked from ’package:stats’:


##
## filter, lag

## The following objects are masked from ’package:base’:


##
## intersect, setdiff, setequal, union

## Loading required package: rstatix

## Warning: package ’rstatix’ was built under R version 4.0.2

##
## Attaching package: ’rstatix’

## The following objects are masked from ’package:effectsize’:


##
## cohens_d, eta_squared

## The following object is masked from ’package:stats’:


##
## filter

## Loading required package: FSA

## Warning: package ’FSA’ was built under R version 4.0.2

## ## FSA v0.8.30. See citation(’FSA’) if used in publication.


## ## Run fishR() for related website and fishR(’IFAR’) for related book.

## Loading required package: rcompanion

## Warning: package ’rcompanion’ was built under R version 4.0.2

##
## Attaching package: ’rcompanion’

## The following object is masked from ’package:effectsize’:


##
## phi

## Loading required package: tidyBF

## Warning: package ’tidyBF’ was built under R version 4.0.2

2
## effectsize haven apaTables DescTools report dplyr rstatix
## TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## FSA rcompanion tidyBF
## TRUE TRUE TRUE

Algunos de los paquetes utilizados son cargados.

devtools::install_github("easystats/report")

## WARNING: Rtools is required to build R packages, but is not currently installed.


##
## Please download and install Rtools 4.0 from https://cran.r-project.org/bin/windows/Rtools/.

## Skipping install of ’report’ from a github remote, the SHA1 (ee77c479) has not changed since last ins
## Use ‘force = TRUE‘ to force installation

library(report)

El paquete report no está en CRAN por lo cual es llamado manualmente.

Importar datos

Anova <- read_sav("Anova.sav")


View(Anova)

La base de datos es importada de SPSS.

Anova$edad<-as.factor(Anova$edad)

Se prepara la variable edad como categórica.

Anova paramétrico

objeto<-aov(Anova$ASF ~ Anova$edad)
summary(objeto)

## Df Sum Sq Mean Sq F value Pr(>F)


## Anova$edad 2 5809 2904.7 190.4 <2e-16 ***
## Residuals 3680 56151 15.3
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
## 155 observations deleted due to missingness

Se le asigna como variable objeto a la variable continua y la variable de agrupación para realizar el anova
con el comando summary el cual muestra con el valor_p < α (α = 0.05), con lo cual se rechaza la H0 y se
acepta H1 teniendo la variable edad significancia sobre la variable de respuesta ASF (p_valor<2e-16).

3
plot(objeto)

Residuals vs Fitted

2907
3130
3075
10
5
Residuals

0
−5
−10

6.5 7.0 7.5 8.0 8.5 9.0 9.5

Fitted values
aov(Anova$ASF ~ Anova$edad)

4
Normal Q−Q

2907
3130
3

3075
Standardized residuals

2
1
0
−1
−2

−2 0 2

Theoretical Quantiles
aov(Anova$ASF ~ Anova$edad)

5
Scale−Location
2907
3130
3075
1.5
Standardized residuals

1.0
0.5
0.0

6.5 7.0 7.5 8.0 8.5 9.0 9.5

Fitted values
aov(Anova$ASF ~ Anova$edad)

6
Residuals vs Leverage

2907
3130
3

3075
Standardized residuals

2
1
0
−1
−2

Cook's distance
−3

0e+00 2e−04 4e−04 6e−04 8e−04

Leverage
aov(Anova$ASF ~ Anova$edad)
Aqui se muestran los plots del ejercicio donde se puede observar que los datos siguen una distribución
normal según el Q-Q plot y el supuesto de homocedasticidad según las gráficas de residuos.

report(objeto)

## The ANOVA suggests that:


##
## - The main effect of Anova$edad is significant (F(2, 3680) = 190.37, p < .001) and can be considere

El reporte general indica que se tiene significancia debido a que el F calculado es mayor que el F crítico (F(2,
3680) = 190.37, p < .001).

Post Hoc

PostHocTest(aov(Anova$ASF ~ Anova$edad), method = "hsd",


conf.level=NA)

##
## Posthoc multiple comparisons of means : Tukey HSD
##
## $‘Anova$edad‘
## 1 2
## 2 8.8e-09 -
## 3 8.8e-09 8.8e-09

7
Hay diferencias significativas entre los grupos 1-2,1-3 y 2-3; siendo el 1 los menores, 2 los intermedios y 3 las
mayores.

Tuckey

TukeyHSD(objeto)

## Tukey multiple comparisons of means


## 95% family-wise confidence level
##
## Fit: aov(formula = Anova$ASF ~ Anova$edad)
##
## $‘Anova$edad‘
## diff lwr upr p adj
## 2-1 -1.277431 -1.649721 -0.9051414 0
## 3-1 -3.022416 -3.386878 -2.6579548 0
## 3-2 -1.744985 -2.118121 -1.3718483 0

plot(TukeyHSD(objeto))

95% family−wise confidence level


2−1
3−1
3−2

−3.0 −2.5 −2.0 −1.5 −1.0

Differences in mean levels of Anova$edad

Los grupos 2-1 presentan menor diferencia, seguido del grupo 3-2 y las mayores diferencias entre el grupo
3-1; siendo el 1 los menores, 2 los intermedios y 3 las mayores.

8
Descriptivos

apa.1way.table(edad,ASF,Anova)

##
##
## Descriptive statistics for ASF as a function of edad.
##
## edad M SD
## 1 9.40 3.88
## 2 8.12 4.12
## 3 6.38 3.73
##
## Note. M and SD represent mean and standard deviation, respectively.
##

Las medias y desviaciones de los tres grupos de edad siendo el grupo 1 con mayor media, el grupo 2 con
mayor desviación estándar(mayor variabilidad en los datos) y el 3 con menor media y menor variabilidad;
siendo el 1 los menores, 2 los intermedios y 3 las mayores.

FSA::Summarize(ASF ~ edad,
data=Anova,
digits=2)

## edad n nvalid mean sd min Q1 median Q3 max percZero


## 1 1 1298 1269 9.40 3.88 0 7 10 12 18 1.50
## 2 2 1247 1157 8.12 4.12 0 5 8 11 18 4.58
## 3 3 1293 1257 6.38 3.73 0 4 6 9 18 7.64

Otra manera de hacerlo es con SUmmarize que muestra los cuartiles de cada grupo incluso.

lm_output <- lm(ASF ~ edad, data = Anova)

apa.aov.table(lm_output,filename="pokemen2.doc",table.number = 4)

##
##
## Table 4
##
## ANOVA results using ASF as the dependent variable
##
##
## Predictor SS df MS F p partial_eta2
## (Intercept) 112173.96 1 112173.96 7351.60 .000
## edad 5809.37 2 2904.68 190.37 .000 .09
## Error 56151.10 3680 15.26
## CI_90_partial_eta2
##
## [.08, .11]
##
##
## Note: Values in square brackets indicate the bounds of the 90% confidence interval for partial eta-sq

9
Otra manera es utilizar la función lm que nos indica que la variable ASF es dependiente de las edades y que
en el intervalo de confianza del 90% para eta-cuadrado los límites son [.08, .11]

Tamaños de efecto

Eta cuadrado (η 2 )

eta_cuadrado <- 5809.37/(5809.37 + 56151.10)


eta_cuadrado

## [1] 0.0937593

Se obtiene el eta cuadrado (η 2 )o R cuadrado, el índice de correlación, de la regresión de manera manual,


explicando la variabilidad siendo está un 9% por el efecto de las edades.
Omega cuadrado (ω 2 )

ome<-effectsize::omega_squared(objeto)
ome

## Parameter | Omega2 (partial) | 90% CI


## --------------------------------------------
## Anova$edad | 0.09 | [0.08, 0.11]

Se calcula el omega al cuadrado (ω 2 ), medida de la fuerza de la asociación entre la variable dependiente e


independiente en un ANOVA , es decir los datos variaron en 9% debido al efecte de la variable independiente,
es decir edades.
Epsilon cuadrado (2 )

epsilon_squared(objeto)

## Parameter | Epsilon2 (partial) | 90% CI


## ----------------------------------------------
## Anova$edad | 0.09 | [0.08, 0.11]

De igual manera se calcula epsilon cuadrado (2 ), siendo una mejor estimación de la fuerza de asociación en
una población de lo que es eta cuadrado, explicando que los datos de la prueba variaron un 9% debido al
efecto de las edades.

cohens_f(objeto)

## Parameter | Cohen’s f (partial) | 90% CI


## -----------------------------------------------
## Anova$edad | 0.32 | [0.29, 0.35]

Este parámetro tambíen permite estudiar la variabilidad de los datos obteniéndose 32% en ASF por el factor
de tratamiento edades.

10
interpret_omega_squared(ome, rules = "field2013")

## Parameter Omega_Sq_partial CI CI_low


## "large" "medium" "large" "medium"
## CI_high
## "medium"

AL interpretar omega cuadrado siendo los tamaños de efecto medios y los intervalos de confianza también
siendo 0.09 tamaño del efecto medio.

Anova no paramétrico

kruskal.test(ASF ~ edad, data = Anova)

##
## Kruskal-Wallis rank sum test
##
## data: ASF by edad
## Kruskal-Wallis chi-squared = 353.87, df = 2, p-value < 2.2e-16

Al obtener un valor menor a α significa que se rechaza la hipótesis nula y se acepta la alternativa, siendo el
factor edades significante para los datos (p_valor < 2.2e-16) .

Post hoc no paramétrico

pairwise.wilcox.test(Anova$ASF, Anova$edad,
p.adjust.method = "BH")

##
## Pairwise comparisons using Wilcoxon rank sum test with continuity correction
##
## data: Anova$ASF and Anova$edad
##
## 1 2
## 2 2.7e-15 -
## 3 < 2e-16 < 2e-16
##
## P value adjustment method: BH

Entre grupos se da una diferencia significativa entre los grupos 1-2, 1-3 y 2-3; siendo 1 los más jovenes, 2
intermedios y 3 los mayores.

Dun test

11
dunnTest(ASF ~ edad,
data=Anova,
method="bh")

## Warning: Some rows deleted from ’x’ and ’g’ because missing data.

## Dunn (1964) Kruskal-Wallis multiple comparison

## p-values adjusted with the Benjamini-Hochberg method.

## Comparison Z P.unadj P.adj


## 1 1 - 2 7.833668 4.738407e-15 4.738407e-15
## 2 1 - 3 18.752398 1.850570e-78 5.551711e-78
## 3 2 - 3 10.500530 8.589679e-26 1.288452e-25

Los grupos 1-2 presentan menor diferencia, seguido del grupo 2-3 y las mayores diferencias entre el grupo
1-3; siendo el 1 los menores, 2 los intermedios y 3 las mayores.

Tamaño del efecto Anova no paramétrico

Eta cuadrado (η 2 )

Anova %>%
kruskal_effsize(ASF ~ edad)

## # A tibble: 1 x 5
## .y. n effsize method magnitude
## * <chr> <int> <dbl> <chr> <ord>
## 1 ASF 3838 0.0918 eta2[H] moderate

Epsilon cuadrado (2 )

epsilonSquared(x = Anova$ASF,
g = Anova$edad)

## epsilon.squared
## 0.0922

Theta cuadrado (Θ2 )

freemanTheta(x = Anova$ASF,
g = Anova$edad)

## Freeman.theta
## NA

Al obtener el eta una variabilidad de 9.18% , el epsilon 9,22% en los datos debido al factor edades. Para el
caso de theta no se calcula porque existen casos perdidos dentro de la población.

12
Tamaño del efecto de los de los posthoc no paramétricos.

multiVDA(x = Anova$ASF,
g = Anova$edad)

## $pairs
## Comparison VDA CD rg VDA.m CD.m rg.m
## 1 1 - 2 0.537 0.074 NA 0.537 0.074 NA
## 2 1 - 3 0.679 0.358 NA 0.679 0.358 NA
## 3 2 - 3 0.563 0.126 NA 0.563 0.126 NA
##
## $comparison
## Comparison
## "1 - 3"
##
## $statistic
## VDA
## 0.679
##
## $statistic.m
## VDA.m
## 0.679

Los grupos 1-2 presentan menor diferencia, seguido del grupo 2-3 y las mayores diferencias entre el grupo
1-3; siendo el 1 los menores, 2 los intermedios y 3 las mayores. Siendo la más fuerte 1-3 siendo el estadístico
0.679.

Anovas bayesianos

bf_oneway_anova(data = Anova, x = edad, y = ASF)

## # A tibble: 1 x 7
## bf10 bf01 log_e_bf10 log_e_bf01 log_10_bf10 log_10_bf01 bf.prior
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 4.16e75 2.40e-76 174. -174. 75.6 -75.6 0.707

Al obtener que el factor bayesiano es extremadamente alto , es decir mayor a 100, se interpreta como una
extrema evidencia para aceptar la hipótesis alternativa, demostrándo significancia del factor edades sobre
ASF (bf10=4.162446e+75).
Graficando

ggstatsplot::ggbetweenstats(
data = Anova,
x = edad,
y = ASF,
plot.type = "violin", # type of plot también se puede "box" o "violin"
notch = TRUE, # box plot cuadrado o ovalado (notch)
mean.ci = TRUE, # Intervalos de confianza para las medias
type = "r", #"p" (para parametrica), "np" (no parametrica), "r" (robusta), or "bf" (bayes factor)

13
effsize.type = "partial_omega",# hay "biased" (equivalente a la d cohen del t test), "partial_eta" (et
k = 2, # cuántos decimales?
pairwise.comparisons = TRUE, # Muestra las comparaciones post hoc
p.adjust.method = "bonferroni", # método para utilizar las post hoc. esta: "holm", "hochberg", "hommel
pairwise.display = "s", # "s" solo te muestra las que son significativas, "ns" muestra no significativ
outlier.tagging = TRUE, # mostrar outliers
outlier.coef = 1.5, # coeficiente para considerarlo outlier siguiendo la Tukey’s rule
xlab = "rótulo del eje x",
ylab = "rótulo del eje y",
title = "Anova de un factor", # Título del plot
ggtheme = ggthemes::theme_economist(), # cambiar el fondo del gráfico
ggstatsplot.layer = FALSE, # turn off ‘ggstatsplot‘ theme layer
package = "wesanderson", # elegir el paquete asociado a la paleta de colores.
palette = "Darjeeling1", # cambiar la paleta
messages = FALSE
)

## Registered S3 method overwritten by ’broom.mixed’:


## method from
## tidy.gamlss broom

## Registered S3 methods overwritten by ’lme4’:


## method from
## cooks.distance.influence.merMod car
## influence.merMod car
## dfbeta.influence.merMod car
## dfbetas.influence.merMod car

14
Anova de un factor
F trimmed−means(2,1950.56) = 186.74, p = < 0.001, ξ = 0.38, CI95% [0.34, 0.41], n obs = 3683
p adjusted ≤ 0.001
p adjusted ≤ 0.001 18
20 p adjusted ≤ 0.001 18
17
17
17
15
rótulo del eje y

17

µ = 9.4, CI95%[9.17, 9.63]


10
µ = 6.38, CI95%[6.17, 6.56]
µ = 8.12, CI95%[7.95, 8.37]
5

0
1 2 3
(n = 1269) (n = 1157) (n = 1257)
rótulo del eje x

Pairwise comparisons: Yuen's trimmed means test; Adjustment (p−value): Bonferroni

El gráfico indica que las varianzas no son iguales para los tres grupos, el p_valor es menor que 0.001 siendo
significativo el factor edad sobre la variable dependiente ASF, el intervalo de confianza se encuentra entre
[0.34;0.40] para un intervalo de confianza de 95%.
El grupo con mayor media es el 1 y el menor media es el 3, la mediana del grupo 1 es 10, del grupo 2 es 8 y
del 3 es 6. Además de las observaciones para el grupo 1 es 1269, para el 2 es 1157 y para el 3 es 1257, siendo
el total 3683;siendo 1 los menores, 2 los intermedios y 3 los mayores.

15

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy