Tento dokument obsahuje základné vysvetlenie operácií, ktoré sú v ňom použité, a ku každej operácii je pridaný aj jeden jednoduchý príklad jej použitia.

Základné operácie so skalármi

Základné zápisy operácií

a + b sucet

a - b rozdiel

a * b násobenie

a / b delenie

a ^ b umocňovanie

a %% 2 modulo

Zaokrúhľovanie:

round(premmenna) -> zaokruhlenie

ceiling (premmenna) -> nahor

floor(premenna) -> nadol

# Malé cvičenie: vypočítajte obvod a plochu obdĺžnika so stranami 12 a 8
a <- 12
b <- 8.4
obvod <- 2*(a+b)
plocha <- a*b
obvod; plocha
## [1] 40.8
## [1] 100.8
ceiling(plocha)
## [1] 101
round(obvod)
## [1] 41

Logické operácie

a&b -> a zaroven a|b -> alebo !a -> negovane a

# Moje peniaze a ceny
moje.peniaze <- 5
cena.autobus <- 0.5
cena.obed <- 4
cena.kolacik <- 1

# Celkové náklady (len autobus + obed)
celkove.naklady <- cena.autobus + cena.obed

# Logické podmienky
mam.dost.na.skolu <- moje.peniaze >= celkove.naklady        # mám dosť na základné výdavky
mam.dost.na.vsetko <- moje.peniaze >= (celkove.naklady + cena.kolacik)  # mám aj na koláčik

# Ukážka AND (&): musím mať dosť na obed AJ autobus
mam.na.obed.a.autobus <- (moje.peniaze >= cena.obed) & (moje.peniaze >= cena.autobus)

# Ukážka OR (|): mám aspoň na obed ALEBO na autobus
mam.aspon.nieco <- (moje.peniaze >= cena.obed) | (moje.peniaze >= cena.autobus)

# Ukážka NOT (!): nemám dosť na všetko
nemam.na.vsetko <- !(mam.dost.na.vsetko)

# Výstupy
mam.dost.na.skolu
## [1] TRUE
mam.dost.na.vsetko
## [1] FALSE
mam.na.obed.a.autobus
## [1] TRUE
mam.aspon.nieco
## [1] TRUE
nemam.na.vsetko
## [1] TRUE

Textové operácie

Na textové operácie by som použila príklad generátoru hesiel

# Vstupné údaje
meno <- "Martin"
rok <- 2001

# 1. Prvé tri písmená mena
cast_mena <- substr(meno, 1, 3)

# 2. Posledné dve čísla roku
cast_roku <- substr(rok, 3, 4)

# 3. Spojenie do hesla
heslo <- paste0(cast_mena, cast_roku)

# 4. Bonus: pridanie náhodného znaku
special <- sample(c("!", "@", "#", "$"), 1)
heslo_final <- paste0(heslo, special)

heslo_final
## [1] "Mar01$"

Moja inovácia: Výpočet BMI (použitie textových operácií, logických a aj práca s numerickými podmienkami)

# Zadanie údajov
vaha <- 85     # kg
vyska <- 1.75  # m

# Výpočet BMI
bmi <- vaha / (vyska^2)

# Zaokrúhlenie
bmi_zaokruh <- round(bmi, 2)

# Funkcia na vyhodnotenie BMI
vyhodnot_bmi <- function(bmi) {
  if (bmi < 18.5) {
    return("Podvýživa")
  } else if (bmi <= 24.9) {
    return("Normálna hmotnosť")
  } else if (bmi <= 29.9) {
    return("Nadváha")
  } else {
    return("Obezita")
  }
}

# Použitie funkcie
kategoria <- vyhodnot_bmi(bmi_zaokruh)

# Výpis výsledkov
bmi_zaokruh
## [1] 27.76
kategoria
## [1] "Nadváha"
# --- Textový vzorec ---
# Dynamická správa
sprava <- paste0("Vaše BMI je ", bmi_zaokruh, ", čo zodpovedá kategórii: ", kategoria, ".")

sprava
## [1] "Vaše BMI je 27.76, čo zodpovedá kategórii: Nadváha."