Globálne nastavenie Chunkov

V nižšie uvedenom Chunku je urobené základné globálne nastavenie Chunkov v celom Notebooku.

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

Úvod k základným operáciám v R

Tento notebook demonštruje základné operácie v jazyku R so:

Tam, kde je to užitočné, sú zahrnuté malé cvičenia.


Skaláre (jednočíselné hodnoty)

Numerické skaláre

# Priradenie konštanty do premennej
a <- 8
b <- 2

# Arithmetic
sum_ab      <- a + b        # sucet
diff_ab     <- a - b        # rozdiel
prod_ab     <- a * b        # násobenie
quot_ab     <- a / b        # delenie
power_ab    <- a ^ b        # umocňovanie
mod_ab      <- a %% 3       # zbytok po delení tromi (tzv modulo)


# Rounding
round_b   <- round(b)       # zaokruhlovanie smerom k najblizsiemu celemu cislu
ceil_b    <- ceiling(b)     # najblizsie vyssie cele cislo
floor_b   <- floor(b)       # najblizsie nizsie cele cislo

a; b
## [1] 8
## [1] 2
sum_ab; diff_ab; prod_ab; quot_ab; power_ab; mod_ab; 
## [1] 10
## [1] 6
## [1] 16
## [1] 4
## [1] 64
## [1] 2
round_b; ceil_b; floor_b;
## [1] 2
## [1] 2
## [1] 2

Poznámky

  • ^ operátor umocňovania.
  • %% je modulo, teda zbytok po delení,
  • round(x, digits = 0) zaokrúhľovanie na určitý počet desatinných miest (digits=). ak digits = 0, potom ide o celočíselné zaokrúhľovanie

Malé cvičenie

Vypočítajte:

\[\frac{(7^2-17)}{4}+{(3^3-6)}\]

(7^2 - 17) / 4 + (3^3-6)
## [1] 29

Text

Vytváranie textovými premennými a práca s nimi

first <- "Barbora"                       # definovanie obsahu textovej premennej first
last  <- "Kucháriková"                          # definovanie obsahu text. premennej last
full  <- paste(first, last)               # spojenie dvoch text. premennych do jednej (s medzerou)
full_nospace <- paste0(first, last)       # spojenie bez medzery
csv_line <- paste("eko", "bio", "raw", sep = ",")  # spojenie textov s oddelovacom ,
first; last; full; full_nospace; csv_line   # bodkočiarka tu nahradzuje odskok na novy riadok 
## [1] "Barbora"
## [1] "Kucháriková"
## [1] "Barbora Kucháriková"
## [1] "BarboraKucháriková"
## [1] "eko,bio,raw"

Dĺžka textového reťazca, podreťazec

x <- "Milujem Rko!"
nchar(x)                 # počet znakov  v reťazci "Milujem Rko!"
## [1] 12
substr(x, 1, 7)          # podreťazec od 1. do 7. znaku
## [1] "Milujem"

Tip: Knižnica stringr mnohé zaujímavé možnosti práce s textami, ale implicitné knižnice R pokrývajú väčšinu bežných potrieb páce s textami.


Logické (boolovské) hodnoty a premenné

Základy

a <- TRUE
b <- FALSE
!a                 # NOT
## [1] FALSE
a & b              # AND
## [1] FALSE
a | b              # OR
## [1] TRUE
xor(a, b)          # exclusive OR - platí len jedno z p,alebo q
## [1] TRUE

Logický výsledok porovnávania

8 < 10
## [1] TRUE
2 >= 2
## [1] TRUE
"Mom" == "Mom"
## [1] TRUE
"Mom" != "Dad"   # vykricnik je tu v zmysle negacie. Napr.:   !=, !>, !<, !TRUE
## [1] TRUE
!TRUE
## [1] FALSE
(8 < 10) & (2 == 2)     # TRUE – obe podmienky sú pravdivé DOPLNENÉ
## [1] TRUE
(8 < 10) | (2 == 3)     # TRUE – aspoň jedna podmienka je pravdivá DOPLNENÉ
## [1] TRUE
xor(TRUE, FALSE)       # TRUE – práve jedna z hodnôt je TRUE DOPLNENÉ
## [1] TRUE

Zložitejšie logické operácie

x <- 100
x > 20 & x < 150      # a sucasne - logicky prienik (sucin)
## [1] TRUE
x < 0 | x > 100     # alebo - logicke zjednotenie (sucet)
## [1] FALSE
                   # pri zlozitejsich vztahoch pouzivajte zatvorky ()
x %% 20==0         #je x deliteľné číslom 20? DOPLNENÉ
## [1] TRUE

Môj návrh použitia novinky

x %% 20==0                #ak sa pýtame na deliteľnosť určitým číslom
## [1] TRUE
(8 < 10) & (2 == 2)       # TRUE – obe podmienky sú pravdivé DOPLNENÉ
## [1] TRUE
(8 < 10) | (2 == 3)       # TRUE – aspoň jedna podmienka je pravdivá DOPLNENÉ
## [1] TRUE
xor(TRUE, FALSE)     
## [1] TRUE