Práca s databázou - AI v európskych podnikoch

Autor

Júlia Kurčíková

Publikované

23. októbra 2026

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

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.2.1     ✔ readr     2.2.0
✔ forcats   1.0.1     ✔ stringr   1.6.0
✔ ggplot2   4.0.3     ✔ tibble    3.3.1
✔ lubridate 1.9.5     ✔ tidyr     1.3.2
✔ purrr     1.2.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Kód
library(knitr)
library(kableExtra)

Attaching package: 'kableExtra'

The following object is masked from 'package:dplyr':

    group_rows
Kód
library(broom)

cislo <- function(x, d = 1) format(round(x, d), nsmall = d, decimal.mark = ",")
PoznámkaÚdaje

Databáza Eurostatu isoc_eb_ai – podiel podnikov (v %), ktoré používajú umelú inteligenciu. Údaje sú za európske krajiny, roky 2021, 2023, 2024 a 2025 a podľa veľkosti podniku. Keďže ide o časový rad, budem s nimi pracovať aj na ďalších hodinách.

Výskumné otázky

  • Ako rýchlo sa AI v podnikoch šíri?
  • Kde je Slovensko v porovnaní s krajinami V4 a priemerom EÚ?
  • Závisí využívanie AI od veľkosti podniku?

1 Príprava údajov

1.1 Rozcvička: malá tabuľka krajín V4

Základné operácie s data.frame som zhrnula do jedného príkladu. Vytvorím tabuľku krajín V4 s podielom podnikov s AI v rokoch 2023 a 2025, pridám stĺpec s nárastom aj ďalší riadok (priemer EÚ) a vyberiem z nej krajiny, ktoré sú nad priemerom V4.

Kód
v4 <- data.frame(
  Krajina = c("Slovensko", "Česko", "Poľsko", "Maďarsko"),
  AI.2023 = c(7.04, 5.90, 3.67, 3.68),
  AI.2025 = c(18.00, 17.60, 8.36, 10.37)
)

v4 <- cbind(v4, Narast = v4$AI.2025 - v4$AI.2023)
v4 <- rbind(v4, data.frame(Krajina = "EÚ (27 krajín)", AI.2023 = 8.06,
                           AI.2025 = 19.95, Narast = 19.95 - 8.06))

v4[v4$AI.2025 > mean(v4$AI.2025[1:4]), c("Krajina", "AI.2025")]
         Krajina AI.2025
1      Slovensko   18.00
2          Česko   17.60
5 EÚ (27 krajín)   19.95

V tabuľke je Slovensko zvýraznené a riadok EÚ slúži ako porovnanie:

Kód
v4 %>%
  kable(digits = 1,
        col.names = c("Krajina", "2023 (%)", "2025 (%)", "Nárast (p. b.)"),
        caption = "Podniky využívajúce AI – krajiny V4 a EÚ") %>%
  kable_styling(bootstrap_options = c("hover", "condensed"), full_width = FALSE) %>%
  row_spec(1, bold = TRUE, background = "#fde9d9") %>%
  row_spec(5, italic = TRUE, color = "grey40")
Podniky využívajúce AI – krajiny V4 a EÚ
Krajina 2023 (%) 2025 (%) Nárast (p. b.)
Slovensko 7.0 18.0 11.0
Česko 5.9 17.6 11.7
Poľsko 3.7 8.4 4.7
Maďarsko 3.7 10.4 6.7
EÚ (27 krajín) 8.1 20.0 11.9

Slovensko malo v roku 2025 najvyšší podiel v rámci V4 (18,0 %) a za dva roky narástlo o 11,0 percentuálneho bodu. Priemer EÚ však stále nedosahuje.

1.2 Načítanie a úprava databázy

Z databázy si ponechám len potrebné stĺpce, premenujem ich a pripojím slovenské názvy krajín.

Kód
krajiny <- read.csv2("udaje/krajiny.csv")

udaje.ai <- read.csv("udaje/isoc_eb_ai.csv") %>%
  select(geo, Velkost = size_emp, Ukazovatel = indic_is,
         Rok = TIME_PERIOD, Hodnota = OBS_VALUE, Poznamka = OBS_FLAG) %>%
  left_join(krajiny, by = "geo")

glimpse(udaje.ai)
Rows: 28,062
Columns: 7
$ geo        <chr> "ES", "ES", "ES", "PT", "ES", "ES", "ES", "PT", "ES", "ES",…
$ Velkost    <chr> "0-9", "0-9", "0-9", "0-9", "0-9", "0-9", "0-9", "0-9", "0-…
$ Ukazovatel <chr> "E_AIX_CC1SIX_DA", "E_AIX_CC1SIX_DA", "E_AIX_CC1SIX_DA", "E…
$ Rok        <int> 2023, 2024, 2025, 2023, 2023, 2024, 2025, 2023, 2023, 2024,…
$ Hodnota    <dbl> 5.74, 5.66, 5.49, 13.36, 1.40, 1.44, 1.95, 5.04, 3.78, 4.39…
$ Poznamka   <chr> "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",…
$ Krajina    <chr> "Španielsko", "Španielsko", "Španielsko", "Portugalsko", "Š…

Databáza má 28062 riadkov, ale chýba v nej 664 hodnôt. Eurostat niektoré údaje nezverejňuje (dôverné alebo nespoľahlivé). Pri hlavnom ukazovateli nemajú úplný časový rad tieto krajiny:

Kód
udaje.ai %>%
  filter(Ukazovatel == "E_AI_TANY", Velkost == "GE10", !is.na(Hodnota)) %>%
  count(Krajina, name = "Rokov s údajom") %>%
  filter(`Rokov s údajom` < 4)
   Krajina Rokov s údajom
1 Albánsko              3

Albánsko a Severné Macedónsko preto z porovnaní vynechávam. Chýbajúce hodnoty nedopĺňam, pretože odhadnutá hodnota by skreslila porovnanie krajín.

Ďalej pracujem s ukazovateľom E_AI_TANY, teda podielom podnikov, ktoré používajú aspoň jednu technológiu AI. Pripravím si dve tabuľky: celkovo za podniky s 10 a viac zamestnancami a zvlášť podľa veľkosti podniku. Súhrny za EÚ a eurozónu nie sú krajiny, preto ich tu nezahŕňam.

Kód
vynechat <- c("EU27_2020", "EA", "AL", "MK")

ai.krajiny <- udaje.ai %>%
  filter(Ukazovatel == "E_AI_TANY", Velkost == "GE10",
         !geo %in% vynechat, !is.na(Hodnota))

ai.velkost <- udaje.ai %>%
  filter(Ukazovatel == "E_AI_TANY", Velkost %in% c("10-49", "50-249", "GE250"),
         !geo %in% vynechat, !is.na(Hodnota)) %>%
  mutate(Velkost = factor(Velkost, levels = c("10-49", "50-249", "GE250"),
                          labels = c("malé", "stredné", "veľké")))

2 Ako rýchlo sa AI šíri?

Kód
vyvoj <- udaje.ai %>%
  filter(Ukazovatel == "E_AI_TANY", Velkost == "GE10",
         geo %in% c("SK", "CZ", "PL", "HU", "EU27_2020")) %>%
  select(Krajina, Rok, Hodnota) %>%
  pivot_wider(names_from = Rok, values_from = Hodnota) %>%
  mutate(Narast = `2025` - `2021`) %>%
  arrange(desc(`2025`))

vyvoj %>%
  kable(digits = 1,
        col.names = c("Krajina", "2021", "2023", "2024", "2025", "Nárast (p. b.)")) %>%
  kable_styling(bootstrap_options = c("hover", "condensed"), full_width = FALSE) %>%
  row_spec(which(vyvoj$Krajina == "Slovensko"), bold = TRUE, background = "#fde9d9") %>%
  add_header_above(c(" " = 1, "Podiel podnikov s AI (%)" = 4, " " = 1))
Podiel podnikov s AI (%)
Krajina 2021 2023 2024 2025 Nárast (p. b.)
EÚ (27 krajín) 7.7 8.1 13.5 20.0 12.3
Slovensko 5.2 7.0 10.8 18.0 12.8
Česko 4.5 5.9 11.3 17.6 13.1
Maďarsko 3.0 3.7 7.4 10.4 7.4
Poľsko 2.9 3.7 5.9 8.4 5.5
Kód
udaje.ai %>%
  filter(Ukazovatel == "E_AI_TANY", Velkost == "GE10",
         geo %in% c("SK", "CZ", "PL", "HU", "EU27_2020")) %>%
  ggplot(aes(x = Rok, y = Hodnota, color = Krajina)) +
  geom_line(linewidth = 1) +
  geom_point(size = 2) +
  scale_x_continuous(breaks = c(2021, 2023, 2024, 2025)) +
  labs(title = "Podiel podnikov používajúcich AI",
       subtitle = "podniky s 10 a viac zamestnancami",
       x = NULL, y = "% podnikov",
       caption = "Zdroj: Eurostat, isoc_eb_ai") +
  theme_minimal()

Medzi rokmi 2021 a 2023 sa takmer nič nedialo. Prudký rast prišiel až v rokoch 2024 a 2025, čo pravdepodobne súvisí s rozšírením generatívnej AI. Slovensko a Česko rastú rovnakým tempom ako EÚ, Poľsko a Maďarsko zaostávajú.

Rovnaký vývoj vidno aj na všetkých krajinách naraz:

Kód
ai.stats <- ai.krajiny %>%
  group_by(Rok) %>%
  summarise(
    Krajin = n(),
    Priemer = mean(Hodnota),
    Median = median(Hodnota),
    Sm.odch = sd(Hodnota),
    Min = min(Hodnota),
    Max = max(Hodnota)
  ) %>%
  mutate(Var.koef = Sm.odch / Priemer * 100)

ai.stats %>%
  kable(digits = 1,
        col.names = c("Rok", "Krajín", "Priemer", "Medián", "Sm. odch.",
                      "Min", "Max", "Var. koef. (%)")) %>%
  kable_styling(bootstrap_options = c("hover", "condensed"), full_width = FALSE) %>%
  column_spec(3, bold = TRUE, color = "white",
              background = spec_color(ai.stats$Priemer, option = "C", end = 0.8))
Rok Krajín Priemer Medián Sm. odch. Min Max Var. koef. (%)
2021 32 7.1 6.4 5.0 0.9 23.9 70.4
2023 32 7.8 6.5 4.1 1.5 15.2 52.0
2024 32 13.5 11.0 7.2 3.1 27.6 53.5
2025 32 19.6 18.1 10.3 5.2 42.0 52.4
Kód
ggplot(ai.krajiny, aes(x = factor(Rok), y = Hodnota)) +
  geom_boxplot(fill = "#fde9d9", color = "#E95420") +
  geom_jitter(width = 0.1, alpha = 0.4, size = 1) +
  labs(title = "Rozdelenie krajín podľa podielu podnikov s AI",
       x = NULL, y = "% podnikov") +
  theme_minimal()

Priemer sa od roku 2021 zvýšil z 7,1 % na 19,6 %. Smerodajná odchýlka rastie tiež, takže v percentuálnych bodoch sa rozdiely medzi krajinami zväčšujú. Variačný koeficient je však od roku 2023 stabilný (okolo 52 %), takže relatívne sú krajiny od seba stále približne rovnako ďaleko.

3 Kde je Slovensko?

Kód
ai.krajiny %>%
  filter(Rok == 2025) %>%
  ggplot(aes(x = reorder(Krajina, Hodnota), y = Hodnota, fill = geo == "SK")) +
  geom_col() +
  coord_flip() +
  scale_fill_manual(values = c("grey70", "#E95420"), guide = "none") +
  labs(title = "Podiel podnikov používajúcich AI v roku 2025",
       x = NULL, y = "% podnikov",
       caption = "Zdroj: Eurostat, isoc_eb_ai") +
  theme_minimal()

Kód
poradie.2025 <- ai.krajiny %>%
  filter(Rok == 2025) %>%
  arrange(desc(Hodnota)) %>%
  mutate(Poradie = row_number())

sk.2025 <- poradie.2025 %>% filter(geo == "SK")

bind_rows(
  slice_head(poradie.2025, n = 3),
  sk.2025,
  slice_tail(poradie.2025, n = 3)
) %>%
  select(Poradie, Krajina, Hodnota) %>%
  kable(digits = 1, col.names = c("Poradie", "Krajina", "% podnikov s AI")) %>%
  kable_styling(bootstrap_options = c("hover", "condensed"), full_width = FALSE) %>%
  row_spec(4, bold = TRUE, background = "#fde9d9")
Poradie Krajina % podnikov s AI
1 Dánsko 42.0
2 Fínsko 37.8
3 Švédsko 35.0
17 Slovensko 18.0
30 Poľsko 8.4
31 Turecko 7.4
32 Rumunsko 5.2

Slovensko je v roku 2025 na 17. mieste z 32 krajín, teda zhruba v strede. Na čele sú severské krajiny a Benelux, na konci najmä krajiny juhovýchodnej Európy a Poľsko.

Zaujímalo ma aj to, či krajiny, ktoré boli vpredu v roku 2023, sú vpredu aj v roku 2025:

Kód
ai.2023.2025 <- ai.krajiny %>%
  filter(Rok %in% c(2023, 2025)) %>%
  select(Krajina, Rok, Hodnota) %>%
  pivot_wider(names_from = Rok, names_prefix = "AI.", values_from = Hodnota) %>%
  drop_na()

ggplot(ai.2023.2025, aes(x = AI.2023, y = AI.2025)) +
  geom_smooth(method = "lm", se = FALSE, color = "grey60", linewidth = 0.8) +
  geom_point(aes(color = Krajina == "Slovensko"), size = 2.5) +
  geom_text(data = filter(ai.2023.2025, Krajina == "Slovensko"),
            aes(label = Krajina), vjust = -1, color = "#E95420") +
  scale_color_manual(values = c("grey30", "#E95420"), guide = "none") +
  labs(title = "Podniky s AI: rok 2023 vs. rok 2025",
       x = "% podnikov v roku 2023", y = "% podnikov v roku 2025") +
  theme_minimal()

Korelačný koeficient je 0,88. Poradie krajín sa teda veľmi nemení: kto bol vpredu, ostáva vpredu.

4 Závisí využívanie AI od veľkosti podniku?

Kód
ai.velkost %>%
  filter(Rok == 2025) %>%
  ggplot(aes(x = Velkost, y = Hodnota, fill = Velkost)) +
  geom_boxplot(show.legend = FALSE) +
  scale_fill_brewer(palette = "Oranges") +
  labs(title = "Podiel podnikov s AI podľa veľkosti podniku (2025)",
       x = "Veľkosť podniku", y = "% podnikov") +
  theme_minimal()

Kód
anova.velkost <- aov(Hodnota ~ Velkost, data = filter(ai.velkost, Rok == 2025))
summary(anova.velkost)
            Df Sum Sq Mean Sq F value   Pr(>F)    
Velkost      2  18157    9078   45.08 2.49e-14 ***
Residuals   91  18328     201                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Rozdiel je viditeľný už z grafu a ANOVA ho potvrdzuje (p-hodnota je takmer nulová). Veľké podniky používajú AI približne trikrát častejšie ako malé, pravdepodobne preto, že majú viac peňazí aj odborníkov.

5 Je nárast štatisticky významný?

Porovnávam tie isté krajiny v rokoch 2023 a 2025. Ide teda o závislé výbery, a preto namiesto obyčajného t-testu používam párový t-test.

Kód
t.par <- t.test(ai.2023.2025$AI.2025, ai.2023.2025$AI.2023, paired = TRUE)
t.par

    Paired t-test

data:  ai.2023.2025$AI.2025 and ai.2023.2025$AI.2023
t = 9.5902, df = 31, p-value = 8.621e-11
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
  9.277995 14.290130
sample estimates:
mean difference 
       11.78406 

Podiel podnikov s AI sa za dva roky zvýšil v priemere o 11,8 percentuálneho bodu (95 % interval spoľahlivosti 9,3 až 14,3 p. b.). Nárast je štatisticky významný.

6 Regresný model: čas a veľkosť podniku

Na záver spájam obe zistenia do jedného modelu. Podiel podnikov s AI vysvetľujem časom (počet rokov od 2021) a veľkosťou podniku.

Kód
ai.velkost <- ai.velkost %>% mutate(Roky.od.2021 = Rok - 2021)

model <- lm(Hodnota ~ Roky.od.2021 + Velkost, data = ai.velkost)

tidy(model, conf.int = TRUE) %>%
  mutate(term = c("Konštanta (malé podniky, 2021)", "Každý ďalší rok",
                  "Stredný podnik oproti malému", "Veľký podnik oproti malému"),
         Vyznamny = ifelse(p.value < 0.05, "áno", "nie")) %>%
  select(term, estimate, conf.low, conf.high, p.value, Vyznamny) %>%
  kable(digits = 3,
        col.names = c("", "Odhad (p. b.)", "95 % IS od", "95 % IS do",
                      "p-hodnota", "Významný")) %>%
  kable_styling(bootstrap_options = c("hover", "condensed"), full_width = FALSE) %>%
  column_spec(2, bold = TRUE)
Odhad (p. b.) 95 % IS od 95 % IS do p-hodnota Významný
Konštanta (malé podniky, 2021) 0.463 -2.273 3.198 0.74 nie
Každý ďalší rok 4.323 3.519 5.127 0.00 áno
Stredný podnik oproti malému 7.801 4.890 10.712 0.00 áno
Veľký podnik oproti malému 25.706 22.778 28.634 0.00 áno
Kód
fit <- glance(model)

Model vysvetľuje 53,1 % variability (R² = 0,531, počet pozorovaní 379).

DôležitéČo z modelu vyplýva
  • Každý rok pribudne v priemere približne 4,3 p. b. podnikov, ktoré používajú AI.
  • Veľké podniky sú oproti malým v priemere o 25,7 p. b. vyššie, stredné o 7,8 p. b.
  • Model predpokladá rovnomerný rast, hoci údaje ukazujú zrýchlenie po roku 2023. Ďalej nezohľadňuje rozdiely medzi krajinami. Oboje by sa dalo zlepšiť na ďalších hodinách.

7 Zhrnutie

  • Využívanie AI v európskych podnikoch sa od roku 2023 výrazne zrýchlilo a priemer krajín sa za štyri roky viac ako zdvojnásobil.
  • Slovensko je v strede rebríčka, najlepšie vo V4, ale stále pod priemerom EÚ.
  • Najsilnejším faktorom je veľkosť podniku: veľké podniky používajú AI niekoľkonásobne častejšie ako malé.