Číselné hodnoty a výpočty
# priradenie čísel
x <- 12
y <- 5
z <- 4.27
# aritmetika
sucet_xy <- x + y
rozdiel_xy <- x - y
nasobenie_xy <- x * y
delenie_xy <- x / y
mocnina_x2 <- x ^ 2
celo_delenie <- x %/% y # celé delenie
zvysok_po_deleni <- x %% y # zvyšok po delení
# zaokrúhľovanie
round_z <- round(z, digits = 1)
ceil_z <- ceiling(z)
floor_z <- floor(z)
# výpis výsledkov
x; y; z
## [1] 12
## [1] 5
## [1] 4.27
sucet_xy; rozdiel_xy; nasobenie_xy; delenie_xy
## [1] 17
## [1] 7
## [1] 60
## [1] 2.4
mocnina_x2; celo_delenie; zvysok_po_deleni
## [1] 144
## [1] 2
## [1] 2
round_z; ceil_z; floor_z
## [1] 4.3
## [1] 5
## [1] 4
Malé cvičenie 1
## Úloha: vypočítaj ((20^2 + 4) / 6) a zaokrúhli na 2 desatinné miesta.
vysledok_raw <- (20^2 + 4) / 6
vysledok_raw
## [1] 67.33333
round(vysledok_raw, digits = 2)
## [1] 67.33
Textové (reťazcové) hodnoty
first_name <- "Patrícia"
last_name <- "Čambálová"
cele_meno <- paste(first_name, last_name) # s medzerou
cele_meno_bez <- paste0(first_name, last_name) # bez medzery
ovoce_csv <- paste("mango", "papaya", "guava", sep = ";")
first_name; last_name
## [1] "Patrícia"
## [1] "Čambálová"
cele_meno; cele_meno_bez
## [1] "Patrícia Čambálová"
## [1] "PatríciaČambálová"
ovoce_csv
## [1] "mango;papaya;guava"
## časť: dĺžka textu a podreťazce
veta <- "R programming is fun"
dlzka <- nchar(veta)
prvych_12 <- substr(veta, 1, 12)
od_15_do_konca <- substr(veta, 15, nchar(veta))
dlzka
## [1] 20
prvych_12
## [1] "R programmin"
od_15_do_konca
## [1] "is fun"
Malé cvičenie 2
## Úloha: pracuj s textom "Ayurveda"
## 1. Spočítaj počet znakov.
## 2. Vezmi prvé tri písmená.
slovo <- "Ayurveda"
nchar(slovo)
## [1] 8
substr(slovo, 1, 3)
## [1] "Ayu"
Logické hodnoty a porovnávanie
p <- TRUE
q <- FALSE
not_p <- !p
and_pq <- p & q
or_pq <- p | q
xor_pq <- xor(p, q)
not_p
## [1] FALSE
and_pq
## [1] FALSE
or_pq
## [1] TRUE
xor_pq
## [1] TRUE
## porovnávanie čísel a textu
mensie <- 10 < 3
vacsi_rovne <- 10 >= 10
rovnake <- "apple" == "apple"
ine <- "apple" != "banana"
negacia <- !FALSE
mensie
## [1] FALSE
vacsi_rovne
## [1] TRUE
rovnake
## [1] TRUE
ine
## [1] TRUE
negacia
## [1] TRUE
## kombinované logické výrazy
age <- 18
is_adult <- age >= 18
is_student <- TRUE
je_mlady_dospely <- (age >= 18 & age < 30)
je_mimo_interval <- (age < 10 | age > 70)
is_adult
## [1] TRUE
is_student
## [1] TRUE
je_mlady_dospely
## [1] TRUE
je_mimo_interval
## [1] FALSE
Malé cvičenie 3
## Úloha: teplota
## 1. Zisti, či je temp > 37.
## 2. Zisti, či je temp medzi 36.5 a 37.5 vrátane hraníc.
temp <- 37.9
temp > 37
## [1] TRUE
temp >= 36.5 & temp <= 37.5
## [1] FALSE
Môj návrh použitia novinky
## Toto je časť, kde ukazujem niečo naviac oproti bežným základom:
## - vyhľadanie textu v reťazci pomocou grepl()
## - zmena veľkých/malých písmen pomocou toupper()/tolower()
## - formátovaný text pomocou sprintf()
veta2 <- "Ayurveda supports natural balance"
# vyhľadanie časti textu
obsahuje_balance <- grepl("balance", veta2)
obsahuje_disease <- grepl("disease", veta2)
obsahuje_balance
## [1] TRUE
obsahuje_disease
## [1] FALSE
# zmena veľkých/malých písmen
toupper(veta2)
## [1] "AYURVEDA SUPPORTS NATURAL BALANCE"
tolower(veta2)
## [1] "ayurveda supports natural balance"
# formátovaný text
vek <- 23
sprava <- sprintf(
"Meno: %s %s | Vek: %d rokov",
first_name, last_name, vek
)
sprava
## [1] "Meno: Patrícia Čambálová | Vek: 23 rokov"