knitr::opts_chunk$set(
echo = TRUE,
message = FALSE,
warning = FALSE
)
## Numerické skaláre
x <- 12
y <- 4.2
sucet <- x + y
rozdiel <- x - y
nasobok <- x * y
podiel <- x / y
mocnina <- x ^ 2
modulo <- x %% 5
zaokr1 <- round(y, 1)
ceil_y <- ceiling(y)
floor_y <- floor(y)
x; y[1] 12
[1] 4.2
[1] 16.2
[1] 7.8
[1] 50.4
[1] 2.857143
[1] 144
[1] 2
[1] 4.2
[1] 5
[1] 4
1. zistite, koľko má znakov,
2. vypíšte podreťazec od 5. po 9. znak.
Skontrolujte: 1. či je väčšie ako 10, 2. či je menšie alebo rovné 30, 3. vytvorte podmienku, ktorá overí, či platia súčasne obidve podmienky.
#Na rozdiel od pôvodného dokumentu ukážeme prácu s logickou funkciou any() a all(), ktoré sa hodia pri vektoroch:
v1 <- c(1200, 1350, 1500, 1650)
v2 <- 10:15 # postupnosť 10,11,12,13,14,15
v3 <- seq(from = 2, to = 4, by = 0.5) # postupnosť s krokom 0.5
v4 <- rep(900, times = 4) # 900,900,900,900
v5 <- runif(6, min = 1000, max = 2000) # rovnomerne rozdelené mzdy
v6 <- rnorm(6, mean = 1500, sd = 200) # normálne rozdelené mzdy
v1; v2; v3; v4; v5[1] 1200 1350 1500 1650
[1] 10 11 12 13 14 15
[1] 2.0 2.5 3.0 3.5 4.0
[1] 900 900 900 900
[1] 1803.719 1631.695 1294.339 1695.103 1044.882 1651.261
[1] 1200 1350 1500 1700
[1] 1210 1375 1540 1760
[1] 650 725 800 900
[1] 3.004166 3.490343 4.055200 4.953032
[1] 12
[,1]
[1,] 12
[1] 2 4 6
[1] 4
[1] 4
[1] 1226.153 1300.478 1479.796 1664.381
[1] 800
[1] 1700 950 1800
[1] 800 1700 950 1800 2200 1300
[1] 1700 1800 2200
[1] 3 5 6
[1] FALSE FALSE TRUE FALSE TRUE FALSE
[1] NA
[1] 1475
[1] 1466.667
[1] 366.3696
[1] 2000
Min. 1st Qu. Median Mean 3rd Qu. Max.
980 1268 1410 1467 1688 2000
[1] 980 1250 1320 1500 1750 2000
[1] 2000 1750 1500 1320 1250 980
Vytvorte vektor platy s náhodnými 10 mzdami (od 900 do 2200 €). Zistite, koľko zamestnancov zarába viac ako 1500 € a aký je priemer ich miezd.
[1] 1143.8027 1492.2205 906.8487 1906.9286 932.9133 2035.5511
[7] 1523.4061 1888.7347 1630.7147 1295.2288
[1] 5
[1] 1797.067
#Vytvorenie matíc
m <- matrix(101:116, nrow = 4, ncol = 4)
m_byrow <- matrix(201:216, nrow = 4, byrow = TRUE)
m; m_byrow [,1] [,2] [,3] [,4]
[1,] 101 105 109 113
[2,] 102 106 110 114
[3,] 103 107 111 115
[4,] 104 108 112 116
[,1] [,2] [,3] [,4]
[1,] 201 202 203 204
[2,] 205 206 207 208
[3,] 209 210 211 212
[4,] 213 214 215 216
#Rozmery matice
[1] 4 4
#Adresovanie prvkov matice
[1] 110
[1] 113 114 115 116
[1] 101 105 109 113
[,1] [,2]
[1,] 102 106
[2,] 103 107
#Maticové operácie
[,1] [,2]
[1,] 11 8
[2,] 6 11
[,1] [,2]
[1,] 24 12
[2,] 5 28
[,1] [,2]
[1,] 26 26
[2,] 47 58
[,1] [,2]
[1,] 3 5
[2,] 2 7
[1] 11
[,1] [,2]
[1,] 0.6363636 -0.1818182
[2,] -0.4545455 0.2727273
#Zlučovanie vektorov do matíc
vek1 <- c(1500, 1600, 1700)
vek2 <- c(200, 250, 300)
C <- cbind(vek1, vek2)
D <- rbind(vek1, vek2)
C; D vek1 vek2
[1,] 1500 200
[2,] 1600 250
[3,] 1700 300
[,1] [,2] [,3]
vek1 1500 1600 1700
vek2 200 250 300
#Vypočítanie zvolenej štatistiky po riadkoch (stĺpcoch) matice
[,1] [,2]
[1,] 5 30
[2,] 10 35
[3,] 15 40
[4,] 20 45
[5,] 25 5
[1] 35 45 55 65 30
[1] 15 31
Predstavte si, že matica mzdy_mat obsahuje mesačné mzdy 4 zamestnancov počas 6 mesiacov. • Každý riadok reprezentuje jedného zamestnanca. • Každý stĺpec predstavuje mesiac.
Úlohy: 1. Zistite, ktorý zamestnanec mal najvyšší priemer mzdy. 2. Vypočítajte, v ktorom mesiaci bola celková vyplatená suma najvyššia. 3. Vytvorte nový vektor, ktorý ukáže rozdiel medzi priemernou mzdou každého zamestnanca a celkovým priemerom.
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1274 2123 1617 1781 1220 2056
[2,] 1925 959 1494 1644 955 1801
[3,] 1432 1587 2144 1034 1326 1733
[4,] 2048 2060 1489 2070 2141 2193
[1] 4
[1] 6
# 3. Rozdiel oproti celkovému priemeru
celkovy_priemer <- mean(mzdy_mat)
rozdiel <- priemery_zam - celkovy_priemer
rozdiel[1] 7.416667 -208.083333 -128.416667 329.083333