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.
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
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
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."