Vodstvo želi povečati produktivnost zaposlenih z izboljšanjem njihovih veščin kvantitativne analize podatkov. Oddelek za usposabljanje zaposlenih je našel agencijo, ki ponuja tri različne tečaje, ki bi lahko izboljšali veščine zaposlenih. Ker podjetje ni vedelo, kateri tečaj bi bil najboljši za njegove zaposlene, je poslalo 10 zaposlenih na tečaj A, 10 zaposlenih na tečaj B in 10 zaposlenih na tečaj C. Ko so se zaposleni vrnili s tečaja, so vsi dobili isti projekt za delo v programu R.

Enota: zaposlen. Spremenljivka: čas porabljen za reševanje. Skupine se razlikujejo glede na to, na katerem tečaju so bili. Imamo 3 skupine ENOFAKTORSKA ANALIZA VARIANCE-> H0: povprA=povprB=povpC

library(readxl)
podatki <- read_xlsx("./Spretnosti.xlsx")
podatki <- as.data.frame(podatki)
head(podatki)
##   ID Cas Tecaj
## 1  1  59     A
## 2  2  50     A
## 3  3  45     A
## 4  4  55     A
## 5  5  35     A
## 6  6  28     A

Opis:

podatki$TecajF <- factor(podatki$Tecaj, 
                         levels = c("A", "B", "C"), 
                         labels = c("A", "B", "C"))
library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:onewaytests':
## 
##     describe
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
## The following object is masked from 'package:car':
## 
##     logit
describeBy(podatki$Cas, podatki$TecajF)
## 
##  Descriptive statistics by group 
## group: A
##    vars  n mean    sd median trimmed   mad min max range skew
## X1    1 10 41.5 10.56   39.5      41 11.86  28  59    31  0.3
##    kurtosis   se
## X1    -1.45 3.34
## ---------------------------------------------------- 
## group: B
##    vars  n mean    sd median trimmed  mad min max range  skew
## X1    1 10   37 10.37   40.5   37.75 5.93  18  50    32 -0.66
##    kurtosis   se
## X1     -1.1 3.28
## ---------------------------------------------------- 
## group: C
##    vars  n mean   sd median trimmed   mad min max range skew kurtosis
## X1    1 10 26.8 8.84     24   26.75 11.12  15  39    24 0.14    -1.84
##     se
## X1 2.8

PREDPOSTAVKE ZA ENOFAKTORSKO ANALIZO VARIANCE: 1. Čas, porabljen za reševanje problema je porazdeljen normalno med vsemi 3 skupinami (tečaj A, B in C).

2. HOMOSKEDASTIČNOST: Varianca spremenljivke čas je v vseh treh skupinah enakah. Da to preveriš narediš Levenov TEST.

library(car)
leveneTest(podatki$Cas, podatki$TecajF)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  2  0.0643 0.9378
##       27

LEVENOV TEST: glede na p-vrednost so variance enake v vseh treh tečajih. če bi bila vrednost p-ja nizka, bi naredili Welcherjev heteroskedastični preizkus.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:car':
## 
##     recode
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(rstatix)
## Warning: package 'rstatix' was built under R version 4.4.2
## 
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
## 
##     filter
podatki %>%
  group_by(TecajF) %>%
  shapiro_test(Cas)
## # A tibble: 3 × 4
##   TecajF variable statistic     p
##   <fct>  <chr>        <dbl> <dbl>
## 1 A      Cas          0.946 0.618
## 2 B      Cas          0.896 0.200
## 3 C      Cas          0.889 0.166

Ugotovimo, da so vse 3 spremenljivke porazdeljene normalno (p je večji od 0,05). Če bi bila katera izmed p-vrenosti manjša kot 0,05 bi naredili Krushal test.

delamo analizo variance

results <- aov(Cas ~ TecajF, 
               data = podatki)

summary(results)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## TecajF       2   1135   567.3   5.724 0.00847 **
## Residuals   27   2676    99.1                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

zavrnem H0, pri p=0,009. Ugotavljam, da se vsaj en povprečni čas razlikuje od ostalih.

VELIKOST UČINKA: ETA SQUARED. je velika. Če bi jo želeli sami izračunati, bi SUM SQ v prvi vrstici (to je vsota kvadratov med skupinami (pojasnjena vsota kvadratov), koliko tečaj pojasni razlik med skupinami). Vrednost 1135 bi delili z vsoto kvadratov znotraj skupin (nepojasnjena vsota kvadratov)- 2676. 1135/2676 je ES = 0,30. Pojasnimo 30% variabilnosti spremenljivke.

library(effectsize)
## 
## Attaching package: 'effectsize'
## The following objects are masked from 'package:rstatix':
## 
##     cohens_d, eta_squared
## The following object is masked from 'package:psych':
## 
##     phi
eta_squared(results)
## For one-way between subjects designs, partial eta squared is
##   equivalent to eta squared. Returning eta squared.
## # Effect Size for ANOVA
## 
## Parameter | Eta2 |       95% CI
## -------------------------------
## TecajF    | 0.30 | [0.06, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
interpret_eta_squared(0.30, rules = "cohen1992")
## [1] "large"
## (Rules: cohen1992)
pairwise.t.test(podatki$Cas, g = podatki$TecajF,
                paired = FALSE,
                p.adj = "bonferroni")
## 
##  Pairwise comparisons using t tests with pooled SD 
## 
## data:  podatki$Cas and podatki$TecajF 
## 
##   A      B     
## B 0.9634 -     
## C 0.0081 0.0900
## 
## P value adjustment method: bonferroni

pairwise.t.test: dobimo 3 p vrednosti, ali je razlika med povprečnimi produktivnostimi med tečajem A in C. Je razlika (0,0081). Razlik ni med tečajem A in B ter med B in C. Razlog je da imamo majhen vzorec.

Kruskal test: H0: Lokacije porazdelitev za spremenljivko čas so enake.

kruskal.test(Cas ~ TecajF, 
             data = podatki)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Cas by TecajF
## Kruskal-Wallis chi-squared = 8.2699, df = 2, p-value = 0.016

Zavrnemo h0, pri p=0,016. Vsaj ena lokacija porazdelitve se razlikuje od ostalih.

Velikost učinka pri kruskal test ne rabimo gledati tabele. velike razlike

kruskal_effsize(Cas ~ TecajF, 
                data = podatki)
## # A tibble: 1 × 5
##   .y.       n effsize method  magnitude
## * <chr> <int>   <dbl> <chr>   <ord>    
## 1 Cas      30   0.232 eta2[H] large
library(rstatix)

groups_nonpar <- wilcox_test(Cas ~ TecajF,
                             paired = FALSE,
                             p.adjust.method = "bonferroni",
                             data = podatki)

groups_nonpar
## # A tibble: 3 × 9
##   .y.   group1 group2    n1    n2 statistic     p p.adj p.adj.signif
## * <chr> <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <chr>       
## 1 Cas   A      B         10    10      56.5 0.65  1     ns          
## 2 Cas   A      C         10    10      84.5 0.01  0.03  *           
## 3 Cas   B      C         10    10      80   0.026 0.077 ns

Gledamo p.adj. razlike so samo med A in C. Delali smo WILCOXON PREIZKUS VSOT RANGOV.