library(tidyverse)
library(knitr)
library(kableExtra)

Cvičenie 1 – Vytvorenie dátového rámca

Úloha: Vytvor tabuľku s údajmi o zamestnancoch, ktorá obsahuje premenné Meno, Vek, Plat, Oddelenie.

Meno <- c("Anna", "Ján", "Lucia", "Peter", "Eva")
Vek <- c(28, 35, 41, 30, 26)
Plat <- c(1200, 1450, 1600, 1100, 980)
Oddelenie <- c("Marketing", "IT", "Účtovníctvo", "IT", "Marketing")

zam <- data.frame(Meno, Vek, Plat, Oddelenie)
kable(zam, caption = "Základná databáza zamestnancov") %>%
  kable_styling(bootstrap_options = c("striped", "hover"), position = "center")
Základná databáza zamestnancov
Meno Vek Plat Oddelenie
Anna 28 1200 Marketing
Ján 35 1450 IT
Lucia 41 1600 Účtovníctvo
Peter 30 1100 IT
Eva 26 980 Marketing

Cvičenie 2 – Filtrovanie a triedenie dát

Úloha: Z databázy vyber zamestnancov, ktorí pracujú v IT a zoraď ich podľa platu zostupne.

zam %>%
  filter(Oddelenie == "IT") %>%
  arrange(desc(Plat)) %>%
  kable(caption = "Zamestnanci z IT oddelenia podľa platu") %>%
  kable_styling(bootstrap_options = c("striped", "hover"), position = "center")
Zamestnanci z IT oddelenia podľa platu
Meno Vek Plat Oddelenie
Ján 35 1450 IT
Peter 30 1100 IT

Cvičenie 3 – Zoskupenie a sumarizácia

Úloha: Zoskup zamestnancov podľa oddelenia a vypočítaj priemerný plat a priemerný vek v každom oddelení.

zam %>%
  group_by(Oddelenie) %>%
  summarise(
    Priemerny_Plat = mean(Plat),
    Priemerny_Vek = mean(Vek),
    Pocet = n()
  ) %>%
  kable(caption = "Štatistika podľa oddelenia") %>%
  kable_styling(bootstrap_options = c("striped", "hover"), position = "center")
Štatistika podľa oddelenia
Oddelenie Priemerny_Plat Priemerny_Vek Pocet
IT 1275 32.5 2
Marketing 1090 27.0 2
Účtovníctvo 1600 41.0 1

Cvičenie 4 – Vizualizácia údajov

Úloha: Zobraz priemerný plat podľa oddelenia pomocou stĺpcového grafu.

zam %>%
  group_by(Oddelenie) %>%
  summarise(Priemerny_Plat = mean(Plat)) %>%
  ggplot(aes(x = Oddelenie, y = Priemerny_Plat, fill = Oddelenie)) +
  geom_col() +
  labs(
    title = "Priemerný plat podľa oddelenia",
    x = "Oddelenie",
    y = "Priemerný plat (€)"
  ) +
  theme_minimal()

Cvičenie 5 - vytváranie novej premennej

Na základe výšky platu priraď každému zamestnancovi kategóriu:

Zároveň vypočítaj, o koľko percent sa plat každého zamestnanca líši od priemerného platu vo firme.

# výpočet priemerného platu
priemer_plat <- mean(zam$Plat)

# vytváranie nových premenných
zam %>%
  mutate(
    Kategoria = case_when(
      Plat > 1300 ~ "Vysoký plat",
      Plat >= 1000 ~ "Stredný plat",
      TRUE ~ "Nízky plat"
    ),
    Odchylka_od_priemeru = round((Plat - priemer_plat) / priemer_plat * 100, 1)
  ) %>%
  kable(
    caption = "Zamestnanci s kategóriou platu a odchýlkou od priemeru (%)"
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover"),
    position = "center"
  )
Zamestnanci s kategóriou platu a odchýlkou od priemeru (%)
Meno Vek Plat Oddelenie Kategoria Odchylka_od_priemeru
Anna 28 1200 Marketing Stredný plat -5.2
Ján 35 1450 IT Vysoký plat 14.5
Lucia 41 1600 Účtovníctvo Vysoký plat 26.4
Peter 30 1100 IT Stredný plat -13.1
Eva 26 980 Marketing Nízky plat -22.6