Za raziskovalno vprašanje sem si izbral sledeče: Ali se je glede v letu 2021 glede na 2020 kaj spremenila stopnja rodnosti?
Podatke sem dobil na spletni strani World Bank, kjer sem vzel v vzorec 40 naključno izbranih držav, katere opazujemo v letih 2020 in 2021 (odvisni vzorec). Delal bom t-test za ponovljeno opazovanje dvojic.
Glede normalnosti ne rabimo skrbeti (n>30).
Moji hipotezi sta:
H0: Stopnja rodnosti je v letih 2020 in 2021 enaka
H1: Stopnja rodnosti je v letih 2020 in 2021 različna
Najprej prebermo naše podatke.
VPRASANJE1 <- read.table("~/Faks/Magistrski študij/1. letnik, 1. semester/Metode in tehnike raziskovalnega dela/Domača naloga R/fertilityrate.csv", header = TRUE, sep = ";", dec = ",")
VPRASANJE1$Diferenca <- VPRASANJE1$X2020 - VPRASANJE1$X2021
library(tidyr)
VPRASANJE1 <- drop_na(VPRASANJE1)
head(VPRASANJE1)
## Country.Name Country.Code X2020 X2021 ID Diferenca
## 1 Aruba ABW 1.325 1.180 1 0.145
## 2 Australia AUS 1.581 1.700 2 -0.119
## 3 Afghanistan AFG 4.750 4.643 3 0.107
## 4 Austria AUT 1.440 1.480 4 -0.040
## 5 Angola AGO 5.371 5.304 5 0.067
## 6 Albania ALB 1.400 1.390 6 0.010
# Load the ggplot2 library
library(ggplot2)
Narišemo histogram, s katerim vidimo frekvence diferenc.
ggplot(VPRASANJE1, aes(x = Diferenca)) +
geom_histogram(binwidth = 0.05, color = "red") +
xlab("Difference") +
ylab("Frequency")
shapiro.test(VPRASANJE1$Diferenca)
##
## Shapiro-Wilk normality test
##
## data: VPRASANJE1$Diferenca
## W = 0.93074, p-value = 0.005895
Vidimo, da bi bila kršena predpostavka o normalnosti, če bi imeli manj kot 30 enot.
library(psych)
##
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
describe(VPRASANJE1 [, -1])
## vars n mean sd median trimmed mad min max range skew
## Country.Code* 1 50 25.50 14.58 25.50 25.50 18.53 1.00 50.00 49.00 0.00
## X2020 2 50 2.44 1.20 1.69 2.28 0.50 1.19 5.37 4.18 0.89
## X2021 3 50 2.42 1.17 1.77 2.29 0.69 1.16 5.30 4.14 0.87
## ID 4 50 25.50 14.58 25.50 25.50 18.53 1.00 50.00 49.00 0.00
## Diferenca 5 50 0.01 0.07 0.01 0.02 0.07 -0.27 0.15 0.41 -1.15
## kurtosis se
## Country.Code* -1.27 2.06
## X2020 -0.64 0.17
## X2021 -0.65 0.16
## ID -1.27 2.06
## Diferenca 2.59 0.01
t.test(VPRASANJE1$X2020, VPRASANJE1$X2021,
paired="TRUE",
alternative = "two.sided")
##
## Paired t-test
##
## data: VPRASANJE1$X2020 and VPRASANJE1$X2021
## t = 1.0745, df = 49, p-value = 0.2878
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## -0.009650444 0.031830444
## sample estimates:
## mean difference
## 0.01109
Ugotovimo, da ne moremo zavrniti H0 in ne moremo sklepati, da se je spremenila stopnja rodnosti v letu 2021 v primerjavi z letom 2020. Ne moremo reči, da je povprečna diferenca večja od 0. (p=0,2878)
library(effectsize)
##
## Attaching package: 'effectsize'
## The following object is masked from 'package:psych':
##
## phi
cohens_d(VPRASANJE1$Diferenca)
## Cohen's d | 95% CI
## -------------------------
## 0.15 | [-0.13, 0.43]
interpret_cohens_d(0.15, rules = "sawilowsky2009")
## [1] "very small"
## (Rules: sawilowsky2009)
Lahko vidimo, da je velikost učinka zelo majhna (d=0,15).
Neparametričen test:
wilcox.test(VPRASANJE1$X2020, VPRASANJE1$X2021,
paired=TRUE,
correct=FALSE,
exact=FALSE,
alternative="two.sided")
##
## Wilcoxon signed rank test
##
## data: VPRASANJE1$X2020 and VPRASANJE1$X2021
## V = 697.5, p-value = 0.08628
## alternative hypothesis: true location shift is not equal to 0
library(effectsize)
effectsize(wilcox.test(VPRASANJE1$X2020, VPRASANJE1$X2021,
paired=TRUE,
correct=FALSE,
exact=FALSE,
alternative="two.sided"))
## r (rank biserial) | 95% CI
## ---------------------------------
## 0.29 | [-0.02, 0.55]
Naredili smo še neparametričen test, a v našem primeru je bil bolj primeren parametričen.
Torej, ne moremo trditi, da se je stopnja rodnosti v letu 2021 glede na leto 2020 spremenila.