1 Procvičování 2 s řešením Tvorba vektorů pomocí fce c O 1. Vytvořte vektor a obsahující hodnoty 5, 4, 8, 11. (a <- c(5, 4, 8, 11)) # závorky okolo celého prikazu zajisti zobrazeni výsledku. ## [1] 5 4 8 11 2. Vytvořte vektor b celých čísel od 1 do 10 (použijte dvojtečku), (b <- 1:10) ## [1] 1 2 3 4 5 6 7 8 9 10 3. Vytvořte vektor B celých čísel od 5 do -5 a od -5 do 5 (celkem tedy 22 hodnot). (B <- c(5:-5, -5:5)) ## [1] 5 4 3 2 10-1-2 -3 -4 -5-5-4-3-2-1 0 1 2 3 4 5 4. Vytvořte vektor a3 obsahující trojnásobky hodnot vektoru a. (a3 <- 3 * a) ## [1] 15 12 24 33 5. Vytvořte vektor aab obsahující dvakrát za sebou vektor a a jednou b (celkem tedy 18 hodnot), (aab <- c(a, a, b)) ## [1] 5 4 8 11 5 4 8 11 1 2 3 4 5 6 7 8 9 10 6. Vytvořte vektor jména obsahující jména Michaela, Petra, Jaroslav, Tereza, Ondra, Jan, Lubica, Jiri, Jakub, Zuzka (v tomto pořadí). Jedná se o jména jedinců v náhodném vzorku naší Rkové populace. (Jména stačí zkopírovat) (jména <- c("Michaela", "Petra", "Jaroslav", "Tereza", "Ondra", "Jan", "Lubica", "Jiri", "Jakub", "Zuzka")) ## [1] "Michaela" "Petra" "Jaroslav" "Tereza" "Ondra" "Jan" ## [7] "Lubica" "Jiri" "Jakub" "Zuzka" 7. Vytvořte vektor vyska obsahující hodnoty výšek [cm] těchto jedinců: 164, 162, 183, 174, 197, 180, 164, 187, 173, NA. 2 (výska <- c(164, 162, 183, 174, 197, 180, 164, 187, 173, MA)) ## [1] 164 162 183 174 197 180 164 187 173 NA 8. Vytvořte vektor výska obsahující hodnoty výšek [cm] těchto jedinců: 24.3, 25, 27.7, 25.5, 29.6, 29.7, 23.7, 29, 27.5, NA. (noha <- c(24.3, 25, 27.7, 25.5, 29.6, 29.7, 23.7, 29, 27.5, NA)) ## [1] 24.3 25.0 27.7 25.5 29.6 29.7 23.7 29.0 27.5 NA Vektorové operace 9. Odstraňte vektory a, a3 a aab z pracovního prostredí. rm(a, a3, aab) 10. Zjistěte, kolik elementů obsahuje vektor B. (odpovědí R bude číslice) length(B) ## [1] 22 11. Ověřte, zda vektor b obsahuje 10 elementů, (odpovědí R bude logická hodnota TRUE/FALSE) length(b) == 10 ## [1] TRUE 12. Zjistěte, jakého módu je vektor výska, čili jaký typ hodnot tento vektor nese. mode(výska) ## [1] "numeric" 13. Ověřte, že vektor jmena je textový (jeho mód je "character"). (odpovědí R bude logická hodnota TRUE/FALSE) is.character(jmena) ## [1] TRUE 14. Lze vektor jmena převést na čísla? Nebo naopak vektor výska na text? Co se stane, spojíme-li je do jednoho? Vektor jmena na čísla převést nelze, ale naopak vektor výska na text ano. Když je spojíme do jednoho, budou čísla převedena na text, protože ve vektoru nemohou být uloženy hodnoty různých módů: 3 c(jména, výska) ## [1] "Michaela" "Petra ## [7] "Ľubica" "Jiri" ## [13] "183" "174" ## [19] "173" NA ti "Jaroslav" "Tereza" "Jakub" "Zuzka" "197" "180" "Ondra "164" "164" "Jan" "162" "187" 15. Zjistěte nejnižší a nej vyšší výšku našich jedinců (pozor na NA hodnotu!). min(výska, na.rm = T) ## [1] 162 max(výska, na.rm = T) ## [1] 197 16. Vytvořte vektor výska.rel obsahující relativní výšky (relativní vůči nejvyšší výšce), (vyska.rel <- vyska/max(vyska, na.rm = T)) ## [1] 0.8325 0.8223 0.9289 0.8832 1.0000 0.9137 0.8325 0.9492 0.8782 NA 17. Spočítejte průměrnou výšku jedinců (ve vektoru vyska) a vložte ji do objektu prum. (prum <- mean(vyska, na.rm = T)) ## [1] 176 18. Vytvořte logický vektor vetsi označující nadprůměrně vysoké jedince, (vetsi <- vyska > prum) ## [1] FALŠE FALŠE TRUE FALŠE TRUE TRUE FALŠE TRUE FALŠE NA 19. Zjistěte, kolik je v našem vzorku nadprůměrně vysokých jedinců, (sečtěte pravdy TRUE vektoru vetsi) sum(vetsi, na.rm = T) 20. Vytvořte vektor vyskaž, v němž budou stejné hodnoty jako ve vektoru vyska, jen původně nadprůměrní jedinci budou o 10 cm kratší. ## [1] 4 (vyska2 <- výska - 10 * vetsi) ## [1] 164 162 173 174 187 170 164 177 173