##Anova 2-czynnikowa
W anovie 2-czynnikowej badamy dwie hipotezy. Pierwsza dotyczy ewentualnej różnicy między wynikami ankiety nt satysfakcji w pracy osób o różnej płci, a druga dotyczy ewewntualnych różnic dla osób z różnym wykształceniem. Zbadać możemy również trzecią, dodatkową hipotezę zerową - interakcję międzyczynnikami.
##Statystyki opisowe
Zobaczymy jak wygląda rozkład wyników satysfakcji z pracy pracowników o różnej płci i wykształceniu.
ggplot(jobsatisfaction,aes(x=score)) +
geom_histogram() +
facet_grid(gender~education_level)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
ggboxplot(jobsatisfaction, x="gender", y="score", color="education_level")
Założenia
Sprawdźmy, czy mamy prawo używać Anovy parametrycznej.
Obserwacje odstające
jobsatisfaction %>%
group_by(gender,education_level) %>%
identify_outliers(score)
## [1] gender education_level id score
## [5] is.outlier is.extreme
## <0 wierszy> (lub 'row.names' o zerowej długości)
Brak obserwacji odstających
Normalność
wacji odstających
jobsatisfaction %>%
group_by(gender,education_level) %>%
shapiro_test(score)
## # A tibble: 6 x 5
## gender education_level variable statistic p
## <fct> <fct> <chr> <dbl> <dbl>
## 1 male school score 0.980 0.966
## 2 male college score 0.958 0.779
## 3 male university score 0.916 0.323
## 4 female school score 0.963 0.819
## 5 female college score 0.963 0.819
## 6 female university score 0.950 0.674
Wyniki mają rozkłady normalne (p>0.05)
Zobaczmy jak wyglądają wykresy normalności wg podgrup:
ggqqplot(jobsatisfaction, x="score") +
facet_grid(gender~education_level)
Wszystkie punkty (odpowiedzi ankietowanych) leżą na liniii referencyjnej normalności - dla każdej z podgrup, a więc możemy uznać, że rozkłady satysfakcji z pracy są normalne.
Jednorodna wariancja
levene_test(jobsatisfaction,score~gender*education_level)
## # A tibble: 1 x 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 5 52 2.20 0.0686
p-value > 0.05, a więc stwierdzamy brak istitnej różnicy wariancji (nie możemy odrzucić hipotezy zerowej). Zatem wariancje uznajemy za jednorodne.
Anova
wyniki<-aov(data=jobsatisfaction, score~gender*education_level)
anova(wyniki)
## Analysis of Variance Table
##
## Response: score
## Df Sum Sq Mean Sq F value Pr(>F)
## gender 1 0.5 0.5 1.79 0.1871
## education_level 2 113.7 56.8 187.89 <0.0000000000000002 ***
## gender:education_level 2 4.4 2.2 7.34 0.0016 **
## Residuals 52 15.7 0.3
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
W powyższej tabeli ANOVY widzimy, że istotne różnice różnice w ocenie satysfakcji z pracy występują dla róznego poziomu wykształcenia. Dodatkowo zauważamy, że istnieją istotne interakcje między płcią a wykształceniem.
Testy post-hoc
W przypadku odrzucenia hipotez zerowych w Anovie zwykle przeprowadza się tzw. testy post-hoc aby sprawdzić, co sprawiło, iż pojawia sie istotna różnica między średnimi - czyli aby zobaczyć, któRe dokładnie z nich różnią się istotanie.
Sprawdźmy, jak dokładnie wyniki ocen satysfakcji z pracy różnią sie wg poziomu wykształcenia i płci.
jobsatisfaction %>%
group_by(gender) %>%
emmeans_test(score~education_level)
## # A tibble: 6 x 10
## gender term .y. group1 group2 df statistic p p.adj
## * <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 female education_level score school college 52 -2.94 4.95e- 3 1.49e- 2
## 2 female education_level score school university 52 -10.8 6.07e-15 1.82e-14
## 3 female education_level score college university 52 -7.90 1.84e-10 5.52e-10
## 4 male education_level score school college 52 -3.07 3.37e- 3 1.01e- 2
## 5 male education_level score school university 52 -15.3 6.87e-21 2.06e-20
## 6 male education_level score college university 52 -12.1 8.42e-17 2.53e-16
## # ... with 1 more variable: p.adj.signif <chr>
Dla każdej z par średnich (dla kobiet i mężczyzn vs. wykształcenie) różnice w ocenach satysfakcji z pracy okazały się istotne (p<0.05)