ANOVA (SALARY względem RANK, SEX, DISCIPLINE)

#Równoliczność grup Czy wszytskie zmienne mają tyle samo danych?

describe(Salaries)
##               vars   n      mean       sd median   trimmed      mad   min
## rank*            1 397      2.50     0.77      3      2.62     0.00     1
## discipline*      2 397      1.54     0.50      2      1.55     0.00     1
## yrs.since.phd    3 397     22.31    12.89     21     21.83    14.83     1
## yrs.service      4 397     17.61    13.01     16     16.51    14.83     0
## sex*             5 397      1.90     0.30      2      2.00     0.00     1
## salary           6 397 113706.46 30289.04 107300 111401.61 29355.48 57800
##                  max  range  skew kurtosis      se
## rank*              3      2 -1.12    -0.38    0.04
## discipline*        2      1 -0.18    -1.97    0.03
## yrs.since.phd     56     55  0.30    -0.81    0.65
## yrs.service       60     60  0.65    -0.34    0.65
## sex*               2      1 -2.69     5.25    0.01
## salary        231545 173745  0.71     0.18 1520.16

Wszysykie grupy mają tyle samo danych.

Wykresy skrzynkowe pokazują wynagrodzenie kobiet oraz mężczyzn.

bxp<- ggplot(data=Salaries, aes(x=sex,y=salary)) +
  geom_boxplot(position="identity") +
  theme_light() +
  labs(x="Płeć", y ="Wynagrodzenie", title="Wynagrodzenie wśród kobiet oraz mężczyzn")
bxp

pudelkowy<-ggboxplot(Salaries, x="rank",
          y="salary",color="discipline",palette="jco",facet.by="sex")
pudelkowy

data(Salaries)
ggplot(Salaries, aes(x=salary)) +
  geom_histogram(bins=10) +
  facet_grid(rank~sex~discipline)

#Badanie normlaności

Normalność?

Salaries %>% 
  group_by(sex,rank,discipline) %>%
  shapiro_test(salary)
## # A tibble: 12 x 6
##    rank      discipline sex    variable statistic        p
##    <fct>     <fct>      <fct>  <chr>        <dbl>    <dbl>
##  1 AsstProf  A          Female salary       0.870 0.226   
##  2 AsstProf  B          Female salary       0.889 0.354   
##  3 AssocProf A          Female salary       0.863 0.269   
##  4 AssocProf B          Female salary       0.635 0.00117 
##  5 Prof      A          Female salary       0.934 0.549   
##  6 Prof      B          Female salary       0.974 0.923   
##  7 AsstProf  A          Male   salary       0.941 0.300   
##  8 AsstProf  B          Male   salary       0.941 0.0458  
##  9 AssocProf A          Male   salary       0.878 0.0113  
## 10 AssocProf B          Male   salary       0.967 0.416   
## 11 Prof      A          Male   salary       0.952 0.000259
## 12 Prof      B          Male   salary       0.978 0.0435

Nie ma podstaw do odrzucenia hipotezy zerowej o normalności rozkładu. Możemy przyjąć normalność rozkładu zmiennych.

Jak wyglądają wykresy normalności wg podgrup?

ggqqplot(Salaries, "salary") +
  facet_grid(sex~discipline~rank)

#Jednorodność wariancji

Założenie jednorodności wariancji

Salaries %>% 
  levene_test(salary ~ rank*sex*discipline)
## # A tibble: 1 x 4
##     df1   df2 statistic        p
##   <int> <int>     <dbl>    <dbl>
## 1    11   385      9.05 2.06e-14

P-value < 0.05 -> istotna różnica wariancji (odrzucamy hipotezę zerową) -> wariancje nie są jednorodne -> -> nie można przeprowadzić analizy wariancji (ANOVA)

ANCOVA (dla SALARY względem ‘yrs.since.phd’ oraz ‘yrs.service’)

Dobrze byłoby zacząć bez żadnych wartości odstających i NA.


# Założenia

1)  brak istotnych wartości odstających dla każdej kategorii


```r
Salaries %>%
  identify_outliers(salary)
##   rank discipline yrs.since.phd yrs.service  sex salary is.outlier is.extreme
## 1 Prof          B            38          38 Male 231545       TRUE      FALSE
## 2 Prof          A            29           7 Male 204000       TRUE      FALSE
## 3 Prof          A            43          43 Male 205500       TRUE      FALSE
Salaries %>%
  identify_outliers(yrs.since.phd)
## [1] rank          discipline    yrs.since.phd yrs.service   sex          
## [6] salary        is.outlier    is.extreme   
## <0 wierszy> (lub 'row.names' o zerowej długości)
Salaries %>%
  identify_outliers(yrs.service)
##   rank discipline yrs.since.phd yrs.service  sex salary is.outlier is.extreme
## 1 Prof          B            49          60 Male 192253       TRUE      FALSE

brak istotnych odchyleń dla wszystkich kategorii

  1. zmienna zależna powinna mieć w przybliżeniu rozkład normalny dla każdej kategorii
  shapiro.test(Salaries$salary)
## 
##  Shapiro-Wilk normality test
## 
## data:  Salaries$salary
## W = 0.95988, p-value = 6.076e-09