1 Procvičování 2 na doma - řešení 1. Vytvořte vektor vl obsahující hodnoty 0, 5, 0, 1, 6, 6. vl <- c(0, 5, 0, 1, 6, 6) vl ## [1] 0 5 0 1 6 6 2. Vytvořte vektor v2 obsahující hodnoty 4, 1, 4, 1, 9, 3. v2 <- c(4, 1, 4, 1, 9, 3) v2 ## [1] 4 1 4 1 9 3 3. Vytvořte vektor v3 obsahující hodnoty 3, 8, 0, -1, 1, -9, 5, 0. v3 <- c(3, 8, 0, -1, 1, -9, 5, 0) v3 ## [1] 3 8 0 -1 1 -9 5 0 4. Zjistěte, zda jsou vektory vl, v2 a v3 stejných délek, tedy zda obsahují stejný počet elementů. length(vl) == length(v2) ## [1] TRUE length(vl) == length(v3) ## [1] FALŠE length(v2) == length(v3) ## [1] FALŠE 5. Spojením vektorů vl, v2 a v3 vytvořte vektor v. v <- c(vl, v2, v3) v ## [1] 050166414193380 -1 1 -9 50 6. Přesvědčte se, že vektor v je numerický. 2 is.numeric(v) ## [1] TRUE 7. Zjistěte mode vektorů vl, v2 a v3. mode(vl) ## [1] "numeric" mode(v2) ## [1] "numeric" mode(v3) ## [1] "numeric" 8. Do vektoru rozdíl vypočítejte rozdíl vektorů vl a v2. rozdil <- vl - v2 rozdil ## [1] -4 4-4 0-3 3 9. Vytvořte logický vektor zápor, který bude označovat záporné hodnoty vektoru rozdil. zápor <- rozdil < 0 zápor ## [1] TRUE FALSE TRUE FALSE TRUE FALSE 10. Vynásobte vektor rozdil vektorem zápor. Porovnejte jej z vektorem rozdil. rozdil * zápor ## [1] -4 0-4 0-3 0 rozdil ## [1] -4 4-4 0-3 3 11. Přidejte do vektoru v hodnoty vektoru rozdil (vektor v se prodlouží o dalších 6 elementů rozdílu). 3 v <- c(v, rozdil) v ## [1] 050166414193380 -1 1 -9 50 -4 4 -4 ## [24] 0-3 3 12. Zjistěte délku vektoru v. length(v) ## [1] 26 13. Vytvořte sekvenci celých čísel sek od 1 do n, kde n je délka vektoru v. sek <- l:length(v) sek ## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ## [24] 24 25 26 14. Odstraňte vektory vl, v2 a v3 z pracovního prostředí. rm(vl, v2, v3) 15. Vytvořte vektor v.abs obsahující absolutní hodnoty vektoru v. Pro zjištění absolutní hodnoty najděte funkci pomocí nápovědy nebo googlujte. v.abs <- abs(v) v.abs ## [1] 05016641419338011950444033 16. Zjistěte, kolik hodnot vektoru v je záporných, kolik kladných a kolik rovno nule. sum(v < 0) ## [1] 5 sum(v > 0) ## [1] 16 sum(v == 0) ## [1] 5 17. Z vektoru v vytvořte vektor v.klad, který bude stejné délky jako v, ale bude obsahovat pouze kladné hodnoty vektoru v, všechny zbývající hodnoty budou 0. 4 v.klad <- v * (v > 0) v.klad ## [1] 05016641419338001050040003 v.klad <- v - (v < 0) * v v.klad ## [1] 05016641419338001050040003 18. Z vektoru v vytvořte vektor v.ls, který bude obsahovat hodnoty 1 tam, kde hodnoty vektoru v byly kladné nenulové, -1 tam, kde byly záporné a 0 tam, kde byly nulové, (použijte absolutní hodnoty) v.la <- v/(abs(v) + 1 * (v == 0)) v. la ## [1] 010111111111110-11-110-11-1 ## [24] 0-11 19. Vytvořte sekvenci x čísel od 0 do 4 * pi o délce 500. x <- seq(0, 4 * pi, length.out = 500) 20. Do vektoru sin.x vypočítejte sinus x a zobrazte sin.x proti x v bodovém grafu (funkce plotO). Zaexperminentujte si s argumenty pch=, cex= a col= a zkuste udělat graf tak, aby vám udělal radost. Další grafické argumenty, stejně jako nápovědu k těmto najdete pod ?par. Pro další barvy viz např. colours(). par(mar = c(4, 4, 1, 0.5)) # zmenšuji okraje, aby se obrázek vesel na stránku sin.x <- sin(x) * 2 plot(sin.x ~ x, pch = 15, cex = 2, col = "deepskyblue3") d x 0 2 4 6 8 10 12 x