Základné operácie v R: Aplikácia na štátny rozpočet

Author

Martin Petko

Published

October 5, 2026

Globálne nastavenie Chunkov

V nižšie uvedenom Chunku je urobené základné globálne nastavenie Chunkov v celom Notebooku.

  • echo nastavuje, či chceme v Notebooku vypisovať jednotlivé kódy R
  • message je nastavený na FALSE, čo znamená, že sa budú potláčať pracovné výstupy z R, t.j. napríklad výsledok otvárania knižníc.
  • warning nastavený na FALSE potláča zobrazenie chybových hlášok
Code
knitr::opts_chunk$set(
  echo = TRUE,
  message = FALSE,
  warning = FALSE
)

Úvod k základným operáciám v R v kontexte verejných financií

Tento notebook demonštruje základné operácie v jazyku R aplikované na tému štátneho rozpočtu, so zameraním na:

  • skalárne čísla (napr. celkové príjmy alebo výdavky v mld. eur),
  • textové reťazce (názvy rozpočtových kapitol),
  • logické hodnoty (hodnotenie plnenia rozpočtu),
  • (numerické) vektory (časové rady rozpočtových ukazovateľov),
  • matice (viacrozmerné rozpočtové údaje).

Tam, kde je to užitočné, sú zahrnuté malé cvičenia s vymyslenými dátami pripomínajúcimi slovenské reálie.


Skaláre (jednočíselné hodnoty)

Numerické skaláre v rozpočte

Code
# Priradenie hodnôt (v mld. eur) pre fiktívny návrh rozpočtu
prijmy <- 21.5
vydavky <- 25.8

# Aritmetika
saldo <- prijmy - vydavky        # deficit (ak je záporný)
podiel_prijmov_na_vydavkoch <- prijmy / vydavky # miera krytia výdavkov príjmami
saldo_na_obyvatela <- (saldo * 10^9) / 5.4 * 10^-6 # Približný prepočet na obyvateľa

saldo; podiel_prijmov_na_vydavkoch
[1] -4.3
[1] 0.8333333
Code
round(saldo_na_obyvatela) # zaokrúhlené na celé eurá
[1] -796

Malé cvičenie

Predpokladajte, že celkové daňové príjmy sú 17.5 mld. eur a nedaňové príjmy 3.2 mld. eur. Vypočítajte, aký percentuálny podiel (zaokrúhlený na 1 desatinné miesto) tvoria daňové príjmy z celkových príjmov (súčtu daňových a nedaňových).

Code
danove <- 17.5
nedanove <- 3.2
celkove <- danove + nedanove
round((danove / celkove) * 100, 1)
[1] 84.5

Text

Vytváranie textových premenných pre rozpočtové kapitoly

Code
kapitola1 <- "Ministerstvo financií SR"
kapitola2 <- "Ministerstvo školstva SR"
rozhodnutie <- "schválené"
oznam <- paste("Rozpočet pre", kapitola1, "bol", rozhodnutie)
csv_riadok <- paste("Kapitola", "Príjmy", "Výdavky", sep = ";") 
kapitola1; oznam; csv_riadok
[1] "Ministerstvo financií SR"
[1] "Rozpočet pre Ministerstvo financií SR bol schválené"
[1] "Kapitola;Príjmy;Výdavky"

Malé cvičenie

Zistite počet znakov v názve premennej oznam.

Code
nchar(oznam)
[1] 51

Logické (boolovské) hodnoty a premenné

Hodnotenie rozpočtových pravidiel

Code
je_deficit <- vydavky > prijmy
splna_maastricht <- (abs(saldo) / 100) < 0.03 # Fiktívne overenie 3% HDP pravidla (predpoklad HDP 100 mld.)

je_deficit
[1] TRUE
Code
splna_maastricht
[1] FALSE
Code
# Je rozpočet prebytkový ALEBO spĺňa maastrichtské kritérium?
!je_deficit | splna_maastricht
[1] FALSE

Numerické vektory

Vývoj rozpočtu v čase (vektory)

Code
# Fiktívny vývoj deficitu za 5 rokov (v mld. eur)
deficity <- c(-2.1, -2.5, -3.8, -4.2, -3.5)
roky <- 2020:2024

# Aritmetické operácie
deficity_miliony <- deficity * 1000 # Prepočet na milióny
deficity_miliony
[1] -2100 -2500 -3800 -4200 -3500

Indexovanie a výber prvkov

Code
deficity[1]           # Deficit v prvom roku
[1] -2.1
Code
deficity[deficity < -3.5] # Výber rokov s deficitom horším ako -3.5 mld
[1] -3.8 -4.2

Základné štatistiky vývoja

Code
mean(deficity)                 # Priemerný deficit
[1] -3.22
Code
max(deficity)                  # Najvyšší (v tomto prípade najmenej záporný) deficit
[1] -2.1
Code
sort(deficity)                 # Usporiadanie deficitov
[1] -4.2 -3.8 -3.5 -2.5 -2.1

Malé cvičenie

Vytvorte vektor prijmy_roky s hodnotami fiktívnych príjmov za 4 roky: 18, 19.5, 21, 22. Vypočítajte priemerný príjem za toto obdobie.

Code
prijmy_roky <- c(18, 19.5, 21, 22)
mean(prijmy_roky)
[1] 20.125

Matice

Vytvorenie matice rozpočtových tokov

Code
# Matica: Riadky sú roky (2023, 2024), stĺpce sú (Príjmy, Výdavky)
data_rozpocet <- c(20.5, 24.1, 21.5, 25.8)
mat_rozpocet <- matrix(data_rozpocet, nrow = 2, byrow = TRUE)
colnames(mat_rozpocet) <- c("Prijmy", "Vydavky")
rownames(mat_rozpocet) <- c("2023", "2024")
mat_rozpocet
     Prijmy Vydavky
2023   20.5    24.1
2024   21.5    25.8

Vypočítanie štatistiky po riadkoch/stĺpcoch

Code
# Výpočet salda (Príjmy - Výdavky) po riadkoch.
mat_rozpocet[,1] - mat_rozpocet[,2]
2023 2024 
-3.6 -4.3 

Malé cvičenie

Vytvorte maticu 3x2 s fiktívnymi hodnotami daňových (stĺpec 1) a nedaňových (stĺpec 2) príjmov pre tri rôzne mestá (riadky). Vypočítajte celkové príjmy pre každé mesto (súčet po riadkoch).

Code
mesta_prijmy <- matrix(c(100, 20, 85, 15, 40, 5), nrow = 3, byrow = TRUE)
rowSums(mesta_prijmy)
[1] 120 100  45

Vlastné čísla a vlastné vektory matíc

Výpočet pomocou R funkcie eigen()

Code
# Fiktívna korelačná matica výberu rôznych daní (symetrická)
Kor_dane <- matrix(c(1.0, 0.4,
                     0.4, 1.0),
                   nrow = 2, byrow = TRUE)

eig_Kor <- eigen(Kor_dane, symmetric = TRUE)
eig_Kor$values
[1] 1.4 0.6
Code
eig_Kor$vectors
          [,1]       [,2]
[1,] 0.7071068 -0.7071068
[2,] 0.7071068  0.7071068

Malé cvičenie

Pre fiktívnu variančno-kovariančnú maticu daňových výnosov z troch rôznych regiónov vypočítajte vlastné čísla a vlastné vektory.

Región BA TT NR
BA 0.005 0.001 0.002
TT 0.001 0.003 0.001
NR 0.002 0.001 0.004
Code
# vytvorenie matice
Kov_regiony <- matrix(c(
  0.005, 0.001, 0.002, 
  0.001, 0.003, 0.001,  
  0.002, 0.001, 0.004   
), nrow = 3, byrow = TRUE)

# Vypočítajte vlastné čísla a vlastné vektory a vypíšte ich
eigen_regiony <- eigen(Kov_regiony, symmetric = TRUE)
eigen_regiony
eigen() decomposition
$values
[1] 0.007048917 0.002643104 0.002307979

$vectors
           [,1]       [,2]       [,3]
[1,] -0.7369762  0.5910090 -0.3279853
[2,] -0.3279853 -0.7369762 -0.5910090
[3,] -0.5910090 -0.3279853  0.7369762