knitr::opts_chunk$set(
    echo = TRUE,
    message = FALSE,
    warning = FALSE
)

# Úvod a voľba databázy

V nadväznosti na predchádzajúce zadanie som si nechala tú istú tému –
infláciu HICP (Harmonised Index of Consumer Prices) zo zdroja Eurostat, dataset
prc_hicp_manr (medziročná inflácia, %).

Vybrala som si krajiny Slovensko, Česko, Maďarsko, Poľsko a obdobie okolo roku 2023.
Údaje sú zoradené v čase (mesačne) a umožňujú porovnávať vývoj inflácie v regióne.

Oficiálny prehliadač datasetu:
https://ec.europa.eu/eurostat/databrowser/view/prc_hicp_manr/default/table

V tomto notebooku vytvorím tabuľky, grafy a heatmap korelačnej matice numerických veličín.


Balíčky

library(tidyverse)
library(ggplot2)
library(kableExtra)

Načítanie / simulácia údajov

Ak mám pripravený CSV súbor (napr. hicp_inflacia_2023.csv), môžem ho načítať príkazom read_csv().
Aby bol notebook funkčný aj bez externého súboru, vytváram malý simulovaný dataset, ktorý reprezentuje medziročnú infláciu (%) v roku 2023 pre štyri krajiny.

inflacia <- tibble(
  Rok = rep(2023, 20),
  Mesiac = rep(c("Január","Február","Marec","Apríl","Máj",
                 "Jún","Júl","August","September","Október"), 2),
  Krajina = rep(c("Slovensko","Česko"), each = 10),
  HICP = c(15.4,14.8,13.9,13.2,12.5,11.9,11.2,10.6,10.1,9.7,
           17.5,16.8,15.9,15.2,14.6,13.7,12.9,12.1,11.4,10.8)
)
 
# rozšírim na viac krajín, aby bolo viac číselných stĺpcov
set.seed(123)
inflacia2 <- inflacia %>%
  mutate(
    HU = round(HICP + rnorm(n(), 2, 0.7), 1),  # Maďarsko
    PL = round(HICP + rnorm(n(), -1, 0.5), 1)  # Poľsko
  )
 
head(inflacia2)
## # A tibble: 6 × 6
##     Rok Mesiac  Krajina    HICP    HU    PL
##   <dbl> <chr>   <chr>     <dbl> <dbl> <dbl>
## 1  2023 Január  Slovensko  15.4  17    13.9
## 2  2023 Február Slovensko  14.8  16.6  13.7
## 3  2023 Marec   Slovensko  13.9  17    12.4
## 4  2023 Apríl   Slovensko  13.2  15.2  11.8
## 5  2023 Máj     Slovensko  12.5  14.6  11.2
## 6  2023 Jún     Slovensko  11.9  15.1  10.1

Komentár:
V skutočnej analýze by som dáta stiahla priamo z Eurostatu a uložila do CSV,
tu používam syntetický dataset s rovnakou štruktúrou – čas, krajina, inflácia.


Základný popis údajov

summary(inflacia2)
##       Rok          Mesiac            Krajina               HICP      
##  Min.   :2023   Length:20          Length:20          Min.   : 9.70  
##  1st Qu.:2023   Class :character   Class :character   1st Qu.:11.35  
##  Median :2023   Mode  :character   Mode  :character   Median :13.05  
##  Mean   :2023                                         Mean   :13.21  
##  3rd Qu.:2023                                         3rd Qu.:14.90  
##  Max.   :2023                                         Max.   :17.50  
##        HU              PL       
##  Min.   :11.40   Min.   : 8.50  
##  1st Qu.:13.30   1st Qu.:10.18  
##  Median :15.20   Median :12.00  
##  Mean   :15.31   Mean   :12.18  
##  3rd Qu.:17.00   3rd Qu.:13.93  
##  Max.   :20.40   Max.   :16.70

Tabuľkový prehľad

inflacia2 %>%
  head(12) %>%
  kable(
    caption = "Prvých 12 pozorovaní medziročnej inflácie HICP v roku 2023",
    digits = 1
  ) %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped","hover","condensed"))
Prvých 12 pozorovaní medziročnej inflácie HICP v roku 2023
Rok Mesiac Krajina HICP HU PL
2023 Január Slovensko 15.4 17.0 13.9
2023 Február Slovensko 14.8 16.6 13.7
2023 Marec Slovensko 13.9 17.0 12.4
2023 Apríl Slovensko 13.2 15.2 11.8
2023 Máj Slovensko 12.5 14.6 11.2
2023 Jún Slovensko 11.9 15.1 10.1
2023 Júl Slovensko 11.2 13.5 10.6
2023 August Slovensko 10.6 11.7 9.7
2023 September Slovensko 10.1 11.6 8.5
2023 Október Slovensko 9.7 11.4 9.3
2023 Január Česko 17.5 20.4 16.7
2023 Február Česko 16.8 19.1 15.7

Komentár:
Tabuľka zobrazuje prvé mesiace roka 2023. Vidno, že inflácia je vo všetkých krajinách vysoká,
ale úroveň sa medzi krajinami líši (najmä Maďarsko vs. Poľsko).


Graf: vývoj inflácie v čase

Najskôr si pripravím „dlhý“ formát pre ggplot2 – každý záznam = jedna krajina, jeden mesiac.

inflacia_long <- inflacia2 %>%
  select(Rok, Mesiac, Krajina, HICP)   # pôvodný stĺpec HICP pre dve krajiny
 
ggplot(inflacia_long, aes(x = Mesiac, y = HICP, color = Krajina, group = Krajina)) +
  geom_line(linewidth = 1) +
  geom_point(size = 2) +
  labs(
    title = "Medziročná inflácia HICP (%, rok 2023)",
    x = "Mesiac",
    y = "Inflácia v %",
    color = "Krajina"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Komentár:
Graf ukazuje postupný pokles inflácie v priebehu roka, ale rozdiely medzi Slovenskom a Českom sú stále výrazné.
Takýto časový graf je vhodný na sledovanie trendu a prípadných zlomových bodov.


Široký formát pre korelačnú maticu

Na výpočet korelačnej matice potrebujem viac číselných stĺpcov.
Z inflacia2 si vytiahnem len numerické stĺpce (Slovensko, Česko, Maďarsko, Poľsko).

wide_num <- inflacia2 %>%
  select(Slovensko = HICP, Česko = HU, Maďarsko = PL) %>%
  as.data.frame()
 
head(wide_num)
##   Slovensko Česko Maďarsko
## 1      15.4  17.0     13.9
## 2      14.8  16.6     13.7
## 3      13.9  17.0     12.4
## 4      13.2  15.2     11.8
## 5      12.5  14.6     11.2
## 6      11.9  15.1     10.1

(Poznámka: názvy som zjednodušila – ide iba o numerické stĺpce, všetky v %.)


Korelačná matica

cor_mat <- cor(wide_num, use = "pairwise.complete.obs")
cor_mat
##           Slovensko     Česko  Maďarsko
## Slovensko 1.0000000 0.9669645 0.9855983
## Česko     0.9669645 1.0000000 0.9466759
## Maďarsko  0.9855983 0.9466759 1.0000000

Komentár:
Korelačná matica ukazuje, ako silno spolu súvisia inflácie v jednotlivých krajinách.
Hodnoty blízke 1 znamenajú silnú pozitívnu koreláciu (inflácia stúpa a klesá podobne),
hodnoty blízke 0 slabý vzťah.


Heatmap korelačnej matice

cor_long <- as_tibble(cor_mat, rownames = "Var1") %>%
  pivot_longer(-Var1, names_to = "Var2", values_to = "Correlation")
 
ggplot(cor_long, aes(x = Var1, y = Var2, fill = Correlation)) +
  geom_tile(color = "white") +
  scale_fill_gradient2(
    low = "#4575B4", mid = "white", high = "#D73027",
    midpoint = 0, limits = c(-1, 1)
  ) +
  coord_equal() +
  labs(
    title = "Heatmap korelačnej matice inflácie HICP",
    x = NULL, y = NULL, fill = "kor."
  ) +
  theme_minimal(base_size = 12) +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    panel.grid = element_blank()
  )

Komentár:
Z heatmapy je vidno, že inflácia v regiónoch je silne pozitívne korelovaná –
ekonomické šoky a cenové tlaky pôsobia podobne vo viacerých krajinách.
Ak by sa niektoré dvojice krajín líšili (svetlejšie/nižšie hodnoty), znamenalo by to rozdielnu dynamiku inflácie.


Základné štatistiky podľa krajín (priemer, minimum, maximum)

inflacia_long %>%
  group_by(Krajina) %>%
  summarise(
    n       = n(),
    Priemer = mean(HICP),
    Minimum = min(HICP),
    Maximum = max(HICP),
    .groups = "drop"
  ) %>%
  kable(
    caption = "Základné štatistiky inflácie podľa krajín (rok 2023)",
    digits = 1
  ) %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped","hover","condensed"))
Základné štatistiky inflácie podľa krajín (rok 2023)
Krajina n Priemer Minimum Maximum
Slovensko 10 12.3 9.7 15.4
Česko 10 14.1 10.8 17.5

Záver

Vybrala som si ekonomickú databázu z Eurostatu – HICP (medziročná inflácia) pre niekoľko krajín EÚ.
Aj keď tu pracujem so syntetickou kópiou, štruktúra a interpretácia zodpovedajú skutočným dátam.

V tomto cvičení som: