V tomto zadaní pracujem s World Development Indicators (WDI) – databázou Svetovej banky. Vybrala som si tri ekonomicky blízke krajiny:
A tri numerické časové ukazovatele (2000–2023):
Cieľom je:
krajiny <- c("SVK", "CZE", "POL")
indikatory <- c(
gdp_pc = "NY.GDP.PCAP.KD",
unemployment = "SL.UEM.TOTL.ZS",
inflation = "FP.CPI.TOTL.ZG"
)
wdi_raw <- WDI(
country = krajiny,
indicator = indikatory,
start = 2000,
end = 2023
)
wdi_data <- wdi_raw %>%
rename(krajina = country, rok = year) %>%
arrange(krajina, rok)
head(wdi_data)## krajina iso2c iso3c rok gdp_pc unemployment inflation
## 1 Czechia CZ CZE 2000 12543.94 8.764 3.7753883
## 2 Czechia CZ CZE 2001 12958.47 8.128 4.6626756
## 3 Czechia CZ CZE 2002 13179.99 7.280 1.9029810
## 4 Czechia CZ CZE 2003 13618.93 7.777 0.1187392
## 5 Czechia CZ CZE 2004 14259.63 8.298 2.7601078
## 6 Czechia CZ CZE 2005 15147.72 7.927 1.8570979
Interpretácia:
V tabuľke vidíme prvé riadky stiahnutých údajov. Každý riadok
predstavuje jednu krajinu v konkrétnom roku a obsahuje tri kľúčové
ukazovatele: HDP na obyvateľa, mieru nezamestnanosti a infláciu. To
potvrdzuje, že databáza spĺňa podmienku zadania – ide o časové rady s
minimálne tromi numerickými stĺpcami.
## Rows: 72
## Columns: 7
## $ krajina <chr> "Czechia", "Czechia", "Czechia", "Czechia", "Czechia", "C…
## $ iso2c <chr> "CZ", "CZ", "CZ", "CZ", "CZ", "CZ", "CZ", "CZ", "CZ", "CZ…
## $ iso3c <chr> "CZE", "CZE", "CZE", "CZE", "CZE", "CZE", "CZE", "CZE", "…
## $ rok <int> 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 200…
## $ gdp_pc <dbl> 12543.936, 12958.467, 13179.988, 13618.935, 14259.633, 15…
## $ unemployment <dbl> 8.764, 8.128, 7.280, 7.777, 8.298, 7.927, 7.141, 5.316, 4…
## $ inflation <dbl> 3.7753883, 4.6626756, 1.9029810, 0.1187392, 2.7601078, 1.…
Interpretácia:
Výpis glimpse() ukazuje typy jednotlivých premenných.
Premenné gdp_pc, unemployment a
inflation sú numerické, čo nám umožňuje robiť s nimi
štatistické výpočty a grafy. Premenná rok je celé číslo a
krajina je faktor/znak – teda vhodná kategória na
grupovanie a porovnávanie medzi krajinami.
summary_tbl <- wdi_data %>%
group_by(krajina) %>%
summarise(
pocet_rokov = n_distinct(rok),
priemer_gdp = mean(gdp_pc, na.rm = TRUE),
priemer_unemp = mean(unemployment, na.rm = TRUE),
priemer_infl = mean(inflation, na.rm = TRUE),
.groups = "drop"
)
summary_tbl %>%
kable(
digits = 2,
caption = "Základné štatistiky WDI ukazovateľov podľa krajín (2000–2023)"
) %>%
kable_styling(
full_width = FALSE,
bootstrap_options = c("striped", "hover", "condensed", "responsive")
)| krajina | pocet_rokov | priemer_gdp | priemer_unemp | priemer_infl |
|---|---|---|---|---|
| Czechia | 24 | 17022.73 | 5.50 | 3.23 |
| Poland | 24 | 11652.25 | 9.77 | 3.56 |
| Slovak Republic | 24 | 14652.45 | 12.06 | 4.11 |
Interpretácia:
Tabuľka porovnáva priemerné hodnoty ukazovateľov medzi krajinami.
Vidíme, koľko rokov máme k dispozícii pre každú krajinu a aký je
priemerný HDP na obyvateľa, priemerná nezamestnanosť a inflácia. Vo
všeobecnosti platí, že krajina s vyšším priemerným HDP má často nižšiu
nezamestnanosť. Inflácia je bližšie pri sebe, ale môže sa mierne líšiť
podľa vývoja v jednotlivých krajinách.
ggplot(wdi_data, aes(x = rok, y = gdp_pc, color = krajina)) +
geom_line(size = 1.2) +
theme_minimal() +
labs(
title = "Vývoj HDP na obyvateľa (konštantné ceny)",
x = "Rok", y = "HDP na obyvateľa (USD)"
)Interpretácia:
Graf zobrazuje, ako sa vyvíjal HDP na obyvateľa v jednotlivých
krajinách.
Vo všetkých troch krajinách je zreteľný dlhodobý rast HDP, s dočasnými
poklesmi napríklad počas finančnej krízy (okolo roku 2009) a pandémie.
Česko má typicky najvyšší HDP na obyvateľa, Poľsko a Slovensko sú mierne
nižšie, ale trend rastu je podobný.
ggplot(wdi_data, aes(x = rok, y = unemployment, color = krajina)) +
geom_line(size = 1.2) +
theme_minimal() +
labs(
title = "Vývoj miery nezamestnanosti",
x = "Rok", y = "Nezamestnanosť (%)"
)Interpretácia:
Tu vidíme, že nezamestnanosť je omnoho volatilnejšia než HDP.
Slovensko má vo viacerých rokoch vyššiu mieru nezamestnanosti ako Česko,
Poľsko je často medzi nimi. V posledných rokoch pred pandémiou je vidieť
pokles nezamestnanosti vo všetkých troch krajinách, čo zodpovedá obdobiu
ekonomického rastu a napätejšieho trhu práce.
ggplot(wdi_data, aes(x = rok, y = inflation, color = krajina)) +
geom_line(size = 1.2) +
theme_minimal() +
labs(
title = "Vývoj inflácie (CPI)",
x = "Rok", y = "Inflácia (%)"
)Interpretácia:
Inflácia sa pohybuje okolo nižších hodnôt, ale v niektorých rokoch
výrazne vyskočí. Najmä posledné roky ukazujú prudký nárast inflácie vo
všetkých krajinách, čo súvisí s energetickou a inflačnou krízou. Krivky
jednotlivých krajín sú si často podobné – naznačuje to, že infláciu
ovplyvňujú spoločné vonkašie faktory, nielen domáca politika.
numeric_data <- wdi_data %>%
select(gdp_pc, unemployment, inflation)
cor_mat <- cor(numeric_data, use = "complete.obs")
kable(cor_mat, digits = 2,
caption = "Korelačná matica ukazovateľov") %>%
kable_styling(full_width = FALSE)| gdp_pc | unemployment | inflation | |
|---|---|---|---|
| gdp_pc | 1.00 | -0.80 | 0.08 |
| unemployment | -0.80 | 1.00 | -0.04 |
| inflation | 0.08 | -0.04 | 1.00 |
Interpretácia:
Korelačná matica udáva, ako silno sú jednotlivé ukazovatele navzájom
lineárne prepojené. Negatívna korelácia medzi gdp_pc a
unemployment znamená, že pri vyššom HDP na obyvateľa býva
typicky nižšia nezamestnanosť. Korelácie s infláciou bývajú spravidla
slabšie – inflácia sa správa skôr nezávislejšie od úrovne HDP či
nezamestnanosti.
cor_long <- as.data.frame(cor_mat) %>%
rownames_to_column(var = "var1") %>%
pivot_longer(
cols = -var1,
names_to = "var2",
values_to = "cor"
)
ggplot(cor_long, aes(x = var1, y = var2, fill = cor)) +
geom_tile(color = "white") +
scale_fill_gradient2(
low = "darkred", mid = "white", high = "darkblue",
midpoint = 0, limits = c(-1, 1)
) +
geom_text(aes(label = round(cor, 2))) +
theme_minimal() +
labs(
title = "Heatmap korelačnej matice",
fill = "Korelácia"
)Interpretácia heatmapy:
Heatmapa vizuálne zvýrazňuje korelácie – tmavá modrá predstavuje silnú
pozitívnu koreláciu, tmavá červená silnú negatívnu a biela takmer žiadnu
koreláciu.
gdp_pc a unemployment je
typicky zafarbené do červena, čo potvrdzuje negatívny vzťah: pri vyššom
HDP je nezamestnanosť nižšia.inflation sú často bližšie k bielemu odtieňu –
naznačuje to, že inflácia nemá takú silnú lineárnu väzbu na HDP ani
nezamestnanosť a jej vývoj je ovplyvnený aj inými faktormi.sk <- wdi_data %>%
filter(krajina == "SVK", !is.na(unemployment))
# rozdelenie na obdobie do 2010 a po 2010
before <- sk$unemployment[sk$rok <= 2010]
after <- sk$unemployment[sk$rok > 2010]
length(before); length(after)## [1] 0
## [1] 0
if (length(before) >= 2 && length(after) >= 2) {
t_test_result <- t.test(before, after)
t_test_result
} else {
cat("t-test nie je možné vykonať: v jednom z období je menej ako 2 platné pozorovania nezamestnanosti.\n")
}## t-test nie je možné vykonať: v jednom z období je menej ako 2 platné pozorovania nezamestnanosti.
Interpretácia:
t-test porovnáva priemernú nezamestnanosť na Slovensku pred rokom 2010 a
po ňom. Ak je p-hodnota malá (napr. < 0.05), môžeme povedať, že
rozdiel priemerov je štatisticky významný – teda situácia na trhu práce
sa po roku 2010 výraznejšie zmenila. Ak je p-hodnota vysoká, rozdiel
medzi priemermi sa dá vysvetliť náhodnou odchýlkou v dátach.
anova_data <- wdi_data %>% filter(!is.na(inflation))
anova_model <- aov(inflation ~ krajina, data = anova_data)
summary(anova_model)## Df Sum Sq Mean Sq F value Pr(>F)
## krajina 2 9.4 4.723 0.362 0.698
## Residuals 69 899.9 13.042
Interpretácia:
ANOVA testuje, či sa priemerná inflácia významne líši medzi Slovenskom,
Českom a Poľskom.
Ak je p-hodnota pri premennej krajina malá (napr. <
0.05), môžeme tvrdiť, že aspoň jedna z krajín má priemernú infláciu
štatisticky odlišnú od ostatných. Ak je p-hodnota veľká, priemerná
inflácia je medzi krajinami približne rovnaká a rozdiely, ktoré vidíme v
grafe, nie sú štatisticky významné.
reg_data <- wdi_data %>% filter(!is.na(unemployment),
!is.na(gdp_pc),
!is.na(inflation))
model_unemp <- lm(unemployment ~ gdp_pc + inflation, data = reg_data)
summary(model_unemp)##
## Call:
## lm(formula = unemployment ~ gdp_pc + inflation, data = reg_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.8395 -2.3726 -0.0493 2.1395 6.0933
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 25.2356109 1.5477083 16.305 <2e-16 ***
## gdp_pc -0.0011243 0.0001026 -10.963 <2e-16 ***
## inflation 0.0303496 0.1054843 0.288 0.774
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.172 on 69 degrees of freedom
## Multiple R-squared: 0.6358, Adjusted R-squared: 0.6253
## F-statistic: 60.23 on 2 and 69 DF, p-value: 7.337e-16
Interpretácia:
Regresný model vysvetľuje mieru nezamestnanosti pomocou HDP na obyvateľa
a inflácie.
gdp_pc ukazuje, ako sa zmení
nezamestnanosť, ak sa HDP na obyvateľa zvýši o jednu jednotku (pri
fixnej inflácii). Záporný a štatisticky významný koeficient potvrdzuje,
že vyšší HDP je spojený s nižšou nezamestnanosťou.inflation hovorí, či vyššia inflácia
zvyšuje alebo znižuje nezamestnanosť a či je tento vzťah štatisticky
významný.ggplot(reg_data, aes(x = gdp_pc, y = unemployment, color = krajina)) +
geom_point(alpha = 0.7) +
geom_smooth(method = "lm", se = FALSE, color = "black") +
theme_minimal() +
labs(
title = "HDP vs. nezamestnanosť",
x = "HDP na obyvateľa", y = "Nezamestnanosť (%)"
)Interpretácia:
Bodový graf spája informáciu z regresie s vizuálnym pohľadom na dáta.
Farebné body predstavujú jednotlivé pozorovania pre krajiny a roky,
čierna čiara je odhadnutý lineárny trend. Klesajúci sklon čiary znamená,
že v priemere platí: čím je HDP na obyvateľa vyšší, tým je
nezamestnanosť nižšia. Rozptyl bodov okolo čiary ukazuje, že okrem HDP a
inflácie existujú aj iné faktory, ktoré nezamestnanosť ovplyvňujú.