session 3 Nestíhám, tak jen hrubá rekapitulace toho, co jsme dělali: Uspořádali jsme genderovou soutěž. Zcela náhodně 4 devčata nahlásila svá jména a délky v poloze vleže, stejně tak všichni 4 borci. Tato data jsme zapsali do dvou vektorů (jmena a delky). Pak jsme spočítali průměrnou délku jedince v naší Rkové populaci a vytvořili nový vektor, do kterého jsme zapsali rozdíly délek vzorkovaných jedinců od délky průměrné. Pak jsme vytvořili další vektor, tentokrát logický, obsahující informaci, zda měření jedinci byli nadprůměrní nebo nikoliv. Za nadprůměrnost je třeba potrestat, proto jsme nadprůměrným jedincům odečetli 10 centimetrů, aby nebyli naprůměrní, a pak jsme se znovu dotázali na nadprůměrnost - vytvořili jsme znovu vektor rozdílů již zkrácených délek od původního "nezkráceného" průměru a opět logický vektor, obsahující informaci, zda tyto rozdíly jsou větší než nula. Pak jsme si ukázali, jak použít funkci rep() a funkci seq() a pověděli si, že speciálním typem vektoru je faktor, který lze použít pro matematické operace a tvorbu grafů. Stručně, ve faktoru je informace uložena ve formě čísel, která odkazují na úrovně faktoru. Vytvořili jsme faktor "pohlavi", v němž byla uložena informace, zda měřený jedinec je muž či žena, a použili ho pro vytvoření boxplotu (krabicového grafu) v němž jsme porovnali délky žen a mužů ve vzorku z naší Rkové populace. Použité příkazy: c() rep() seq() as.factor() as.numeric(); as.character(); as.logical() logické operátory >; <; ==; <=; >=; ! mean() length() session 4 Procvičování 1. Vytvořte vektor obsahující hodnoty 1, 2, 4, 6, 7, 8, 9, 10 v uvedeném pořadí. Zjistěte délku vytvořeného vektoru, jeho minimální a maximální hodnotu a součet všech hodnot vektoru. 2. Vytvořte vektor obsahující hodnoty 1 až 10, 21 až 30, 41 až 50 v uvedeném pořadí. 3. Spojte vektory vytvořené v kroku 1 a 2 do jednoho. 4. Vytvořte vektor obsahující sekvenci čísel od 0 do 0.3, jejíž délka bude rovna 100. 5. Vytvořte vektor obsahující všechna lichá čísla od 1 do 99. 6. Vytvořte vektor obsahující hodnoty 1 až 5, které se budou 10 krát opakovat (1,2,3,4,5,1,2,3,4,5,1,2....). Odpovídá délka vektoru násobku 10 a 5, jak by měla? Přímo se zeptejte, odpovědí je buď TRUE, nebo FALSE. 7. Vytvořte vektor obsahující textové řetězce "pejsek", "kocicka", "dort", každý z nich se opakující 5 krát (nejprve "pejsek" 5 krát, pak "kocicka" 5 krát a nakonec "dort" 5 krát). Ženy vs. muži 8. Vytvořte vektory: 'delky', obsahující hodnoty: 165, 171, 172, 180, 185, 190, 187, 185 (stejné délky jako ty, co jsme zapisovali minule) 'jmena', obsahující jména: Magda, Jana, Hanka, Zuzka, Jachym, Petr, Honza, Martin (stejná jména jako minule) 'jmena.rep', v němž se budou opakovat jména vektoru 'jmena', každé tolikrát, jaká je příslušná délka ve vektoru 'delky'. Otestujte, zda délka vytvořeného vektoru je shodná se součtem násobků. 9. Vytvořte faktor 'pohlavi' se dvěma úrovněmi: 'muz' a 'zena', rozlišující vzorkované jedince (jejichž jména jsou ve vektoru 'jmena') podle pohlaví. 10. Zjistěte, kolik vzorkovaných jedinců je delších než 175 cm, kolik žen je menších než 175 cm a zda je v souboru muž větší než 190 cm. Bonus 11. Převeďte sekvenci celých čísel od -5 do 5 (-5,-4,-3,-2,-1,0,1,2,3,4,5) na absolutní hodnoty (5,4,3,2,1,0,1,2,3,4,5). Použití funkce abs() je považováno za podvádění :-)