W Anovie 2-czynnikowej badamy 2 hipotezy. Pierwsza dotyczy ewentualnej różnicy między wynikiami (score) ankiety nt. satysfakcji z pracy osób o różnej płci. Drugat dotyczy ewentualntych różnic dla osób z różnym wykształceniem.
Badać możemy również trzecią- dodatkową hipotezę zerową: interakcje między czynnikami (płcią i wykształceniem).
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 (bins=10) +
facet_grid(gender~education_level)
Sprawdźmy, czy mamy prawo używać Anovy paramterycznej.
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.
shapiro_test()
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ądajaą wykresy normalności wg podgrup:
ggqqplot(jobsatisfaction,"score") +
facet_grid(gender~education_level)
Wszystkie punkty (odpowiedzi ankietowanych) leżą na linii referencyjnej normalności - dla każdej z podgrup, a więc możemy uznać, że rozkłady satysfakcji z pracy są normalne.
jobsatisfaction %>%
levene_test(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 istotnej różnicy wariancji (nie możemy odrzucić hipotezy zerowej). Zatem wariancje są jednorodne.
wynik<- aov(data = jobsatisfaction,
score~gender*education_level)
anova(wynik)
## 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 <2e-16 ***
## 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 w ocenie satysfakcji z pracy występują dla różnego poziomu wykształcenia. Dodatkowo zauważamy, że istnieją istotne interakcje między płcią a wykształceniem.
W przypadku odrzucenia hipotez zerowych w Anovie zwykle przeprowadza się tzw. testy post-hoc aby sprawdzić, co sprawiło, iż pojawia się istotna różnica między średnimi- czyli, aby zobaczyć, które dokładnie z nich różnią się istotnie.
Sprawdźmy, jak dokładnie wyniki ocen satysfakcji z pracy różnią się 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>
Jak widzimy powyżej, dla wszystkich par średnich (dla kobiet i mężczyzn vs. wykształcenie) różnice w ocenach satysfakcji z pracy okazały się istotne (p<0.05).