Matice
Vytvorenie matíc
m <- matrix(2:13, nrow = 3, ncol = 4) # hodnoty sú zadavane po stlpcoch
m_byrow <- matrix(2:13, nrow = 3, byrow = TRUE) # hodnoty su zadavane po riadkoch
m; m_byrow
Adresovanie prvkov matice
m[2, 3] # riadok 2, stlpec 3
m[ , 4] # vsetky prvky v stvrtom stlpci - vysledok matica 3x1
m[1, ] # vsetky prvky v prvom riadku - vysledok matica 1x4
m[1:2, 2:4] # podmatica tvorena riadkami 1,2 a stlpcami 2,3,4
Maticové operácie
A <- matrix(c(2,4,6,8), nrow = 2)
B <- matrix(c(1,3,5,7), nrow = 2)
A + B # scitanie matic
A * B # Hadamard product - nasobenie po zodpovedajucich prvkoch
A %*% B # nasobenie matic
t(A) # transpozicia matice A
det(A) # determinant matice
solve(A) # inverzia matice
all(A == t(A)) # test, ci je matica A symetricka
round(solve(A), 2) # zaokruhlenie prvkov inverznej matice na 2 desatinne miesta
Zlučovanie vektorov do matíc
C <- cbind(2:4, 5:7) # - po stlpcoch
D <- rbind(3:5, 6:8) # - po riadkoch
C; D
E <- rbind(C, c(8, 9)) # pridame treti riadok
E
Vypočítanie zvolenej štatistiky po riadkoch (stĺpcoch) matice
M <- matrix(11:19, nrow = 3)
M
apply(M, 1, sum) # suma po riadkoch
apply(M, 2, mean) # priemery po stĺpcoch
apply(M, 1, mean) # priemery po riadkoch
Malé cvičenie
Vytvorte maticu 5x5 s hodnotami po riadkoch 1O..34, vypočítajte
stĺpcové sumy a súčin matíc \(M^t
M\).
M2 <- matrix(10:34, nrow = 5, byrow = TRUE)
M2
colSums(M2)
t(M2) %*% M2
Jednoduchá vizualizácia
Zobraziť súčty stĺpcov matice je dobré preto, lebo rýchlo ukáže,
ktorý stĺpec má najväčšie alebo najmenšie hodnoty bez potreby
prepočítavania z tabuľky.
barplot(colSums(M2),
main = "Súčty stĺpcov matice M2",
col = "skyblue",
xlab = "Stĺpce",
ylab = "Súčet hodnôt")

Čo som pridala navyše?
- V sekcii “Maticové operácie” som pridala jednoduchý test toho, či je
matica symetrická a súčasne aj spôsob zaokrúhlenia prvkov inverznej
matice na 2 desatinné miesta.
- Do sekcie “Zlučovanie vektorov do matíc” som pridala tretí
riadok.
- V rámci sekcie “Vypočítanie zvolenej štatistiky po riadkoch
(stĺpcoch) matice” som sa pozrela aj na to, aký je priemer po
riadkoch.
- Na koniec som pridala jednoduchú vizualizáciu zobrazujúcu súčet
stĺpcov matice.
LS0tCnRpdGxlOiAiWsOha2xhZG7DqSBvcGVyw6FjaWUgdiBSIgphdXRob3I6ICJMaW5kYSBLYWthc292w6EgIDxicj4KKHMgdnl1xb5pdMOtbSBDaGF0R1BUKSIKZGF0ZTogIk9rdG9iZXIgMjAyNSIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICAgdG9jOiB0cnVlCiAgICB0b2NfZmxvYXQ6IHRydWUKICAgIHRoZW1lOiB1bml0ZWQKICAgIGhpZ2hsaWdodDogdGFuZ28KZWRpdG9yX29wdGlvbnM6IAogIG1hcmtkb3duOiAKICAgIHdyYXA6IDcyCi0tLQoKIyBNYXRpY2UKCiMjIFZ5dHZvcmVuaWUgbWF0w61jCgpgYGB7cn0KbSA8LSBtYXRyaXgoMjoxMywgbnJvdyA9IDMsIG5jb2wgPSA0KSAgICAgICAgICAgICMgaG9kbm90eSBzw7ogemFkYXZhbmUgcG8gc3RscGNvY2gKbV9ieXJvdyA8LSBtYXRyaXgoMjoxMywgbnJvdyA9IDMsIGJ5cm93ID0gVFJVRSkgICMgaG9kbm90eSBzdSB6YWRhdmFuZSBwbyByaWFka29jaAptOyBtX2J5cm93CmBgYAoKIyMgUm96bWVyeSBtYXRpY2UKCmBgYHtyfQpkaW0obSkgICAgICAgICAgICAgICAgICAgIyAocm93cywgY29scykKbQpgYGAKCiMjIEFkcmVzb3ZhbmllIHBydmtvdiBtYXRpY2UKCmBgYHtyfQptWzIsIDNdICAgICAgIyByaWFkb2sgMiwgc3RscGVjIDMKbVsgLCA0XSAgICAgICMgdnNldGt5IHBydmt5IHYgc3R2cnRvbSBzdGxwY2kgLSB2eXNsZWRvayBtYXRpY2EgM3gxCm1bMSwgXSAgICAgICAjIHZzZXRreSBwcnZreSB2IHBydm9tIHJpYWRrdSAtIHZ5c2xlZG9rIG1hdGljYSAxeDQKbVsxOjIsIDI6NF0gICMgcG9kbWF0aWNhIHR2b3JlbmEgcmlhZGthbWkgMSwyIGEgc3RscGNhbWkgMiwzLDQKYGBgCgojIyBNYXRpY292w6kgb3BlcsOhY2llCgpgYGB7cn0KQSA8LSBtYXRyaXgoYygyLDQsNiw4KSwgbnJvdyA9IDIpCkIgPC0gbWF0cml4KGMoMSwzLDUsNyksIG5yb3cgPSAyKQoKQSArIEIgICAgICAgICMgc2NpdGFuaWUgbWF0aWMKQSAqIEIgICAgICAgICMgSGFkYW1hcmQgcHJvZHVjdCAtIG5hc29iZW5pZSBwbyB6b2Rwb3ZlZGFqdWNpY2ggcHJ2a29jaApBICUqJSBCICAgICAgIyBuYXNvYmVuaWUgbWF0aWMKdChBKSAgICAgICAgICMgdHJhbnNwb3ppY2lhIG1hdGljZSBBCmRldChBKSAgICAgICAjIGRldGVybWluYW50IG1hdGljZQpzb2x2ZShBKSAgICAgIyBpbnZlcnppYSBtYXRpY2UKYWxsKEEgPT0gdChBKSkgICAgICAgICAgIyB0ZXN0LCBjaSBqZSBtYXRpY2EgQSBzeW1ldHJpY2thCnJvdW5kKHNvbHZlKEEpLCAyKSAgICAgICMgemFva3J1aGxlbmllIHBydmtvdiBpbnZlcnpuZWogbWF0aWNlIG5hIDIgZGVzYXRpbm5lIG1pZXN0YQpgYGAKCiMjIFpsdcSNb3ZhbmllIHZla3Rvcm92IGRvIG1hdMOtYyAKCmBgYHtyfQpDIDwtIGNiaW5kKDI6NCwgNTo3KSAgICMgIC0gcG8gc3RscGNvY2ggCkQgPC0gcmJpbmQoMzo1LCA2OjgpICAgIyAgLSBwbyByaWFka29jaCAKQzsgRApFIDwtIHJiaW5kKEMsIGMoOCwgOSkpICAjIHByaWRhbWUgdHJldGkgcmlhZG9rCkUKYGBgCgojIyBWeXBvxI3DrXRhbmllIHp2b2xlbmVqIMWhdGF0aXN0aWt5IHBvIHJpYWRrb2NoIChzdMS6cGNvY2gpIG1hdGljZQoKYGBge3J9Ck0gPC0gbWF0cml4KDExOjE5LCBucm93ID0gMykKTQphcHBseShNLCAxLCBzdW0pICAgICMgc3VtYSBwbyByaWFka29jaAphcHBseShNLCAyLCBtZWFuKSAgICMgcHJpZW1lcnkgcG8gc3TEunBjb2NoCmFwcGx5KE0sIDEsIG1lYW4pICAgIyBwcmllbWVyeSBwbyByaWFka29jaApgYGAKCiMjIE1hbMOpIGN2acSNZW5pZQoKPiBWeXR2b3J0ZSBtYXRpY3UgNXg1IHMgaG9kbm90YW1pIHBvIHJpYWRrb2NoIDFPLi4zNCwgdnlwb8SNw610YWp0ZSBzdMS6cGNvdsOpIHN1bXkgYSBzw7rEjWluIG1hdMOtYyBcKE1edCBNXCkuCgpgYGB7cn0KTTIgPC0gbWF0cml4KDEwOjM0LCBucm93ID0gNSwgYnlyb3cgPSBUUlVFKQpNMgpjb2xTdW1zKE0yKQp0KE0yKSAlKiUgTTIKYGBgCgojIyBKZWRub2R1Y2jDoSB2aXp1YWxpesOhY2lhCj4gWm9icmF6acWlIHPDusSNdHkgc3TEunBjb3YgbWF0aWNlIGplIGRvYnLDqSBwcmV0bywgbGVibyByw71jaGxvIHVrw6HFvmUsIGt0b3LDvSBzdMS6cGVjIG3DoSBuYWp2w6TEjcWhaWUgYWxlYm8gbmFqbWVuxaFpZSBob2Rub3R5IGJleiBwb3RyZWJ5IHByZXBvxI3DrXRhdmFuaWEgeiB0YWJ1xL5reS4KCmBgYHtyfQpiYXJwbG90KGNvbFN1bXMoTTIpLAogICAgICAgIG1haW4gPSAiU8O6xI10eSBzdMS6cGNvdiBtYXRpY2UgTTIiLAogICAgICAgIGNvbCA9ICJza3libHVlIiwKICAgICAgICB4bGFiID0gIlN0xLpwY2UiLAogICAgICAgIHlsYWIgPSAiU8O6xI1ldCBob2Ruw7R0IikKYGBgCgojIyDEjG8gc29tIHByaWRhbGEgbmF2ecWhZT8KCj4qIFYgc2VrY2lpICJNYXRpY292w6kgb3BlcsOhY2llIiBzb20gcHJpZGFsYSBqZWRub2R1Y2jDvSB0ZXN0IHRvaG8sIMSNaSBqZSBtYXRpY2Egc3ltZXRyaWNrw6EgYSBzw7rEjWFzbmUgYWogc3DDtHNvYiB6YW9rcsO6aGxlbmlhIHBydmtvdiBpbnZlcnpuZWogbWF0aWNlIG5hIDIgZGVzYXRpbm7DqSBtaWVzdGEuCgo+KiBEbyBzZWtjaWUgIlpsdcSNb3ZhbmllIHZla3Rvcm92IGRvIG1hdMOtYyIgc29tIHByaWRhbGEgdHJldMOtIHJpYWRvay4KCj4qIFYgcsOhbWNpIHNla2NpZSAiVnlwb8SNw610YW5pZSB6dm9sZW5laiDFoXRhdGlzdGlreSBwbyByaWFka29jaCAoc3TEunBjb2NoKSBtYXRpY2UiIHNvbSBzYSBwb3pyZWxhIGFqIG5hIHRvLCBha8O9IGplIHByaWVtZXIgcG8gcmlhZGtvY2guCgo+KiBOYSBrb25pZWMgc29tIHByaWRhbGEgamVkbm9kdWNow7ogdml6dWFsaXrDoWNpdSB6b2JyYXp1asO6Y3Ugc8O6xI1ldCBzdMS6cGNvdiBtYXRpY2UuCgoKLS0tCgoKCgo=