Globálne nastavenie Chunkov


Quitting from Cvicenie2_scalars_text_logical_vectors_matrices.Rmd:19-25 [setup]
knitr::opts_chunk$set(
  echo = TRUE,
  message = FALSE,
  warning = FALSE
)

Skaláre (jednočíselné hodnoty)

Numerické skaláre

# Priradenie konštanty do premennej
a <- 12
b <- 7

# 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] 12
[1] 7
sum_ab; diff_ab; prod_ab; quot_ab; power_ab; mod_ab;
[1] 19
[1] 5
[1] 84
[1] 1.714286
[1] 35831808
[1] 0
round_b; ceil_b; floor_b
[1] 7
[1] 7
[1] 7

Malé cvičenie

Vypočítajte:

\[\frac{(13^3-2)}{5}\]

(13^3 - 2) / 5
[1] 439

Text

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

first <- "Veronika"                       # definovanie obsahu textovej premennej first
last  <- "Polánová"                          # 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("Pondelok", "Utorok", "Streda", sep = ",")  # spojenie textov s oddelovacom ,
first; last; full; full_nospace; csv_line   # bodkočiarka tu nahradzuje odskok na novy riadok 
[1] "Veronika"
[1] "Polánová"
[1] "Veronika Polánová"
[1] "VeronikaPolánová"
[1] "Pondelok,Utorok,Streda"

Logické (boolovské) hodnoty a premenné

Základy

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

Logický výsledok porovnávania

3 < 5
[1] TRUE
7 >= 7
[1] TRUE
"cat" == "cat"
[1] TRUE
"cat" != "dog"   # vykricnik je tu v zmysle negacie. Napr.:   !=, !>, !<, !TRUE
[1] TRUE
!TRUE
[1] FALSE

Zložitejšie logické operácie

x <- 10
y = 6
x > 5 & x < 20      # a sucasne - logicky prienik (sucin)
[1] TRUE
y > 7 & y < 10
[1] FALSE
x < 0 | x > 100     # alebo - logicke zjednotenie (sucet)
[1] FALSE
y < 2 | y > 75
[1] FALSE

Malé cvičenie

Vytvorte vektor w s číslami 1..20 a vypočítajte sumu všetkých párnych čísel.

w <- 1:30
sum(w[w %% 1 == 0])
[1] 465

Môj návrh použitia novinky

Ako novinku som sa rozhodla ukázať kombináciu textu a čísel.
Pomocou funkcie paste() môžeme jednoducho vytvárať vety, ktoré obsahujú vypočítané hodnoty.

# Premenné s číslami
x <- 8
y <- 3

# Výpočet
sucet <- x + y
rozdiel <- x - y

# Spojenie textu a výsledkov
veta1 <- paste("Súčet čísiel", x, "a", y, "je", sucet)
veta2 <- paste("Rozdiel čísiel", x, "a", y, "je", rozdiel)

veta1
[1] "Súčet čísiel 8 a 3 je 11"
veta2
[1] "Rozdiel čísiel 8 a 3 je 5"
LS0tCnRpdGxlOiAiWsOha2xhZG7DqSBvcGVyw6FjaWUgdiBSIgphdXRob3I6ICJEaWFuYSBIcnXFoW92c2vDoSAgPGJyPgoocyB2eXXFvml0w61tIENoYXRHUFQpIgpkYXRlOiAiU2VwdGVtYmVyIDIwMjUiCm91dHB1dDogCiAgaHRtbF9ub3RlYm9vazoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICB0aGVtZTogdW5pdGVkCiAgICBoaWdobGlnaHQ6IHRhbmdvCmVkaXRvcl9vcHRpb25zOiAKICBtYXJrZG93bjogCiAgICB3cmFwOiA3MgotLS0KCiMgR2xvYsOhbG5lIG5hc3RhdmVuaWUgQ2h1bmtvdgoKYGBge3Igc2V0dXAsIGluY2x1ZGU9VFJVRSxlY2hvPVRSVUV9CmtuaXRyOjpvcHRzX2NodW5rJHNldCgKICBlY2hvID0gVFJVRSwKICBtZXNzYWdlID0gRkFMU0UsCiAgd2FybmluZyA9IEZBTFNFCikKYGBgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgU2thbMOhcmUgKGplZG5vxI3DrXNlbG7DqSBob2Rub3R5KQoKIyMgTnVtZXJpY2vDqSBza2Fsw6FyZQoKYGBge3J9CiMgUHJpcmFkZW5pZSBrb27FoXRhbnR5IGRvIHByZW1lbm5lagphIDwtIDEyCmIgPC0gNwoKIyBBcml0aG1ldGljCnN1bV9hYiAgICAgIDwtIGEgKyBiICAgICAgICAjIHN1Y2V0CmRpZmZfYWIgICAgIDwtIGEgLSBiICAgICAgICAjIHJvemRpZWwKcHJvZF9hYiAgICAgPC0gYSAqIGIgICAgICAgICMgbsOhc29iZW5pZQpxdW90X2FiICAgICA8LSBhIC8gYiAgICAgICAgIyBkZWxlbmllCnBvd2VyX2FiICAgIDwtIGEgXiBiICAgICAgICAjIHVtb2PFiG92YW5pZQptb2RfYWIgICAgICA8LSBhICUlIDMgICAgICAgIyB6Ynl0b2sgcG8gZGVsZW7DrSB0cm9taSAodHp2IG1vZHVsbykKCgojIFJvdW5kaW5nCnJvdW5kX2IgICA8LSByb3VuZChiKSAgICAgICAjIHphb2tydWhsb3ZhbmllIHNtZXJvbSBrIG5hamJsaXpzaWVtdSBjZWxlbXUgY2lzbHUKY2VpbF9iICAgIDwtIGNlaWxpbmcoYikgICAgICMgbmFqYmxpenNpZSB2eXNzaWUgY2VsZSBjaXNsbwpmbG9vcl9iICAgPC0gZmxvb3IoYikgICAgICAgIyBuYWpibGl6c2llIG5penNpZSBjZWxlIGNpc2xvCgphOyBiCnN1bV9hYjsgZGlmZl9hYjsgcHJvZF9hYjsgcXVvdF9hYjsgcG93ZXJfYWI7IG1vZF9hYjsKcm91bmRfYjsgY2VpbF9iOyBmbG9vcl9iCmBgYAoKIyMgTWFsw6kgY3ZpxI1lbmllCgo+IFZ5cG/EjcOtdGFqdGU6CgokJFxmcmFjeygxM14zLTIpfXs1fSQkCgpgYGB7cn0KKDEzXjMgLSAyKSAvIDUKYGBgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgVGV4dAoKIyMgVnl0dsOhcmFuaWUgdGV4dG92w71taSBwcmVtZW5uw71taSBhIHByw6FjYSBzIG5pbWkKCmBgYHtyfQpmaXJzdCA8LSAiVmVyb25pa2EiICAgICAgICAgICAgICAgICAgICAgICAjIGRlZmlub3ZhbmllIG9ic2FodSB0ZXh0b3ZlaiBwcmVtZW5uZWogZmlyc3QKbGFzdCAgPC0gIlBvbMOhbm92w6EiICAgICAgICAgICAgICAgICAgICAgICAgICAjIGRlZmlub3ZhbmllIG9ic2FodSB0ZXh0LiBwcmVtZW5uZWogbGFzdApmdWxsICA8LSBwYXN0ZShmaXJzdCwgbGFzdCkgICAgICAgICAgICAgICAjIHNwb2plbmllIGR2b2NoIHRleHQuIHByZW1lbm55Y2ggZG8gamVkbmVqIChzIG1lZHplcm91KQpmdWxsX25vc3BhY2UgPC0gcGFzdGUwKGZpcnN0LCBsYXN0KSAgICAgICAjIHNwb2plbmllIGJleiBtZWR6ZXJ5CmNzdl9saW5lIDwtIHBhc3RlKCJQb25kZWxvayIsICJVdG9yb2siLCAiU3RyZWRhIiwgc2VwID0gIiwiKSAgIyBzcG9qZW5pZSB0ZXh0b3YgcyBvZGRlbG92YWNvbSAsCmZpcnN0OyBsYXN0OyBmdWxsOyBmdWxsX25vc3BhY2U7IGNzdl9saW5lICAgIyBib2Rrb8SNaWFya2EgdHUgbmFocmFkenVqZSBvZHNrb2sgbmEgbm92eSByaWFkb2sgCmBgYAoKIyBMb2dpY2vDqSAoYm9vbG92c2vDqSkgaG9kbm90eSBhIHByZW1lbm7DqQoKIyMgWsOha2xhZHkKCmBgYHtyfQpwIDwtIFRSVUUKcSA8LSBGQUxTRQohcCAgICAgICAgICAgICAgICAgIyBOT1QKcCAmIHEgICAgICAgICAgICAgICMgQU5ECnAgfCBxICAgICAgICAgICAgICAjIE9SCnhvcihwLCBxKSAgICAgICAgICAjIGV4Y2x1c2l2ZSBPUiAtIHBsYXTDrSBsZW4gamVkbm8geiBwLGFsZWJvIHEKYGBgCgojIyBMb2dpY2vDvSB2w71zbGVkb2sgcG9yb3Zuw6F2YW5pYQoKYGBge3J9CjMgPCA1CjcgPj0gNwoiY2F0IiA9PSAiY2F0IgoiY2F0IiAhPSAiZG9nIiAgICMgdnlrcmljbmlrIGplIHR1IHYgem15c2xlIG5lZ2FjaWUuIE5hcHIuOiAgICE9LCAhPiwgITwsICFUUlVFCiFUUlVFCmBgYAoKIyMgWmxvxb5pdGVqxaFpZSBsb2dpY2vDqSBvcGVyw6FjaWUKCmBgYHtyfQp4IDwtIDEwCnkgPSA2CnggPiA1ICYgeCA8IDIwICAgICAgIyBhIHN1Y2FzbmUgLSBsb2dpY2t5IHByaWVuaWsgKHN1Y2luKQp5ID4gNyAmIHkgPCAxMAp4IDwgMCB8IHggPiAxMDAgICAgICMgYWxlYm8gLSBsb2dpY2tlIHpqZWRub3RlbmllIChzdWNldCkKeSA8IDIgfCB5ID4gNzUKYGBgCgojIyBNYWzDqSBjdmnEjWVuaWUKCj4gVnl0dm9ydGUgdmVrdG9yIGB3YCBzIMSNw61zbGFtaSAxLi4yMCBhIHZ5cG/EjcOtdGFqdGUgc3VtdSB2xaFldGvDvWNoCj4gcMOhcm55Y2ggxI3DrXNlbC4KCmBgYHtyfQp3IDwtIDE6MzAKc3VtKHdbdyAlJSAxID09IDBdKQpgYGAKCiMgTcO0aiBuw6F2cmggcG91xb5pdGlhIG5vdmlua3kKCkFrbyBub3Zpbmt1IHNvbSBzYSByb3pob2RsYSB1a8OhemHFpSBrb21iaW7DoWNpdSB0ZXh0dSBhIMSNw61zZWwuXApQb21vY291IGZ1bmtjaWUgYHBhc3RlKClgIG3DtMW+ZW1lIGplZG5vZHVjaG8gdnl0dsOhcmHFpSB2ZXR5LCBrdG9yw6kKb2JzYWh1asO6IHZ5cG/EjcOtdGFuw6kgaG9kbm90eS4KCmBgYHtyfQojIFByZW1lbm7DqSBzIMSNw61zbGFtaQp4IDwtIDgKeSA8LSAzCgojIFbDvXBvxI1ldApzdWNldCA8LSB4ICsgeQpyb3pkaWVsIDwtIHggLSB5CgojIFNwb2plbmllIHRleHR1IGEgdsO9c2xlZGtvdgp2ZXRhMSA8LSBwYXN0ZSgiU8O6xI1ldCDEjcOtc2llbCIsIHgsICJhIiwgeSwgImplIiwgc3VjZXQpCnZldGEyIDwtIHBhc3RlKCJSb3pkaWVsIMSNw61zaWVsIiwgeCwgImEiLCB5LCAiamUiLCByb3pkaWVsKQoKdmV0YTEKdmV0YTIKYGBgCg==