Profesorica predava predmet Upravljana ekonomika slovenskim in angleškim študentom. Pripravila je isti kolokvij za oba predmeta z namenom preveriti, ali se uspeh študentov razlikuje. Naključno je izbrala 40 študentov z angleškega predmeta in 51 študentov s slovenskega predmeta ter analizirala njihove rezultate. Se uspeh razlikuje?
enota: študent vzorec: 40 spr: uspeh
H0: povp.SLO - povp ANG = 0 H1: povp.SLO - povp ANG NI ENAKO 0
library(readxl)
podatki <- read_xlsx("./Kolokvij.xlsx")
podatki <- as.data.frame(podatki)
head(podatki, 3)
## ID Tocke Skupina
## 1 1 9.0 1
## 2 2 9.0 1
## 3 3 7.5 1
##Imamo dolg format podatkov - PRIZKUS SKUPIN
## PREDPOSTAVKE: normalnost,homoskedastičnost (varianca št točk SLO = var.št točk pri ANG) - popravljamo z WELCHOVIM poprvakom
Opis:
podatki$SkupinaF <- factor(podatki$Skupina,
levels = c(1, 2),
labels = c("Ang", "Slo"))
head(podatki, 3)
## ID Tocke Skupina SkupinaF
## 1 1 9.0 1 Ang
## 2 2 9.0 1 Ang
## 3 3 7.5 1 Ang
contrasts(podatki$SkupinaF) ##Umetna spremenljivka
## Slo
## Ang 0
## Slo 1
library(ggplot2) ##Rabimo dva ločena grafa za SLO in ANG študete
Ang <- ggplot(podatki[podatki$SkupinaF == "Ang", ], aes(x = Tocke)) + ##Izberi mi samo tiste vrstc kjer je znotraj skupine F vrstica enaka ANG (z oglatim oklepajem vstopimo v tabelo)
theme_linedraw() +
geom_bar(fill = "darkred") +
ylab("Frekvenca") +
ggtitle("Angleška izvedba") +
scale_x_continuous(breaks = c(1:15),
limits = c(0, 16))
Slo <- ggplot(podatki[podatki$SkupinaF == "Slo", ], aes(x = Tocke)) +
theme_linedraw() +
geom_bar(fill = "darkblue") +
ylab("Frekvenca") +
ggtitle("Slovenska izvedba") +
scale_x_continuous(breaks = c(1:15),
limits = c(0, 16))
library(ggpubr) #Nariše en graf zraven drugega
## Warning: package 'ggpubr' was built under R version 4.4.2
ggarrange(Ang, Slo,
ncol = 2, nrow = 1)
deluje precej normalno porazdeljeno
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(SkupinaF) %>% #podatke grupiram v skupino podatkiF in znotraj vsake skupine naredim Shapiro-wilkov preizkus na spremenljivki TOČKE
shapiro_test(Tocke)
## # A tibble: 2 × 4
## SkupinaF variable statistic p
## <fct> <chr> <dbl> <dbl>
## 1 Ang Tocke 0.972 0.416
## 2 Slo Tocke 0.962 0.101
obe p -vrednosti sta večji od 0,05, kar pomeni, da ne moremo zavrniti H0
library(psych)
##
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
## The following object is masked from 'package:car':
##
## logit
describeBy(podatki$Tocke, podatki$SkupinaF) #ločene analize za opisno statistiko po spremenljivkah
##
## Descriptive statistics by group
## group: Ang
## vars n mean sd median trimmed mad min max range skew kurtosis
## X1 1 40 8.93 2.92 9 9 2.22 1.5 15 13.5 -0.26 -0.1
## se
## X1 0.46
## ----------------------------------------------------
## group: Slo
## vars n mean sd median trimmed mad min max range skew kurtosis
## X1 1 51 9.18 2.5 9 9.15 2.22 3 15 12 0.1 0.12
## se
## X1 0.35
t.test(podatki$Tocke ~ podatki$SkupinaF, #glavna spremenljivka tilda faktorialna spremenljivka (VEDNO)
var.equal = FALSE,
alternative = "two.sided")
##
## Welch Two Sample t-test
##
## data: podatki$Tocke by podatki$SkupinaF
## t = -0.43368, df = 76.96, p-value = 0.6657
## alternative hypothesis: true difference in means between group Ang and group Slo is not equal to 0
## 95 percent confidence interval:
## -1.4061053 0.9031641
## sample estimates:
## mean in group Ang mean in group Slo
## 8.925000 9.176471
Ne moremo zavrniti HO pri p-vr. 0,66. Tako, da ne morem narediti nobenih skepov in ne morem trdit, da bi razlike obstajale.
library(effectsize)
##
## Attaching package: 'effectsize'
## The following object is masked from 'package:psych':
##
## phi
## The following objects are masked from 'package:rstatix':
##
## cohens_d, eta_squared
effectsize::cohens_d(podatki$Tocke ~ podatki$SkupinaF,
pooled_sd = FALSE)
## Cohen's d | 95% CI
## -------------------------
## -0.09 | [-0.51, 0.33]
##
## - Estimated using un-pooled SD.
library(effectsize)
interpret_cohens_d(0.09)
## [1] "very small"
## (Rules: cohen1988)
Velikos učinka nam poveda so razlike precej manjhne.
#Ta prizkus grem delat, če bi bila kršena normalnost (če bi bila že ena p- vrednost < od 0,05)
#WILCOXnov PREIZKUS VSOT RANGOV
wilcox.test(podatki$Tocke ~ podatki$SkupinaF,
correct = FALSE,
exact = FALSE,
alternative = "two.sided")
##
## Wilcoxon rank sum test
##
## data: podatki$Tocke by podatki$SkupinaF
## W = 984.5, p-value = 0.7725
## alternative hypothesis: true location shift is not equal to 0
H0: Lokacije porazdelitve števila doseženih točke je ENAKA med študenti ANG in SLO smeri. H1: Lokacije porazdelitve števila doseženih točke NI ENAKA med študenti ANG in SLO smeri.
H0 ne moremo zavrniti, ker je p-vr = 0,7725. P vrednost je tu še višja, ker temelji na rangih in ker imajo neparametrični testi manjšo statističon moč!
library(ggplot2)
ggplot(podatki, aes(x = Tocke, fill = SkupinaF)) + #s fill naredimo ločeno razporeditev za SLO in ANG študente
geom_histogram(position = position_dodge(width = 0.5), binwidth = 1, colour = "Black") + #position_dodge naredi prekrivanje med stolpci
scale_x_continuous(breaks = seq(0, 20, 1)) +
ylab("Frekvenca") +
labs(fill = "Skupina")
library(effectsize)
effectsize(wilcox.test(podatki$Tocke ~ podatki$SkupinaF,
correct = FALSE,
exact = FALSE,
alternative = "two.sided"))
## r (rank biserial) | 95% CI
## ---------------------------------
## -0.03 | [-0.27, 0.20]
Med porazdelitvama so izjemno majhne razlike.
library(effectsize)
interpret_rank_biserial(0.03)
## [1] "tiny"
## (Rules: funder2019)