PředmětyPředměty(verze: 978)
Předmět, akademický rok 2025/2026
   Přihlásit přes CAS
   
R pro život - MB162P13
Anglický název: R for life
Český název: R pro život
Zajišťuje: Katedra botaniky (31-120)
Fakulta: Přírodovědecká fakulta
Platnost: od 2025
Semestr: zimní
E-Kredity: 2
Způsob provedení zkoušky: zimní s.:
Rozsah, examinace: zimní s.:1/1, Z+Zk [HT]
Počet míst: 50
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština
Další informace: https://dl2.cuni.cz/course/view.php?id=6117
Poznámka: povolen pro zápis po webu
při zápisu přednost, je-li ve stud. plánu
Garant: Mgr. Martin Weiser, Ph.D.
Vyučující: Mgr. Anna Tószögyová, Ph.D.
Mgr. Martin Weiser, Ph.D.
Neslučitelnost : MB120P147E
Je neslučitelnost pro: MB120P147E, MB120C15E, MB120C15
Anotace -
Hlavním cílem kurzu je zbavit účastníky strachu z programování; ukázat, že programování může efektivně používat každý
(R je intuitivní a "blbuvzdorné"), a to pro řešení běžných problémů; naučit účastníky základům programování v R; dále
ukázat, že pomocí R se dá dělat mnohem více věcí než jen statistika (např. práce s grafikou, databázemi, simulacemi, GIS).
Cílová skupina není nijak vymezena ročníkem studia ani studijním programem, nicméně předpokládáme že účastníci budou
biologové s elementárním ponětím o tom, jak se v oboru pracuje s daty a co je to graf. Kurz je vhodný pro všechny, kteří si
chtějí usnadnit práci s počítačem a rozšířit tvůrčí možnosti. Zvláště doporučeno studentům kteří u počítače tráví více než
~3 hodiny denně.
Poslední úprava: Weiser Martin, Mgr., Ph.D. (09.08.2024)
Literatura -

Grolemund G (2014) Hands-On Programming with R. O'Reilly (https://rstudio-education.github.io/hopr/)
Crawley MJ (2007) The R book. John Wiley & Sons. (vyšlo i druhé vydání)
Venables WN & Smith DM (2008) An introduction to R. R development core team.
http://www.r-project.org

Poslední úprava: Weiser Martin, Mgr., Ph.D. (09.08.2024)
Požadavky ke zkoušce -

Zápočet je udělován na základě písemného testu (práce s daty, řešení problémů, řízení směrování kódu).  Lze získat dodatečné body v testech v průběhu semestru.
Zkouška je udělena za naprogramování funkčního programu, který student krátce představí. Očekáváme, že student bude schopen program popsat a vysvětlit mechanismus jeho fungování. Kvalita a funkčnost zkouškového programu musí překonávat příklady z hodin. Zisk zápočtu musí předcházet finálnímu představení programu (zkoušce), ale vítáme průběžné konzultace.

Poslední úprava: Weiser Martin, Mgr., Ph.D. (09.08.2024)
Sylabus -

Proběhne jako interaktivní přednáška (s počítači), při které budou představeny základy práce s daty, grafikou a programování v R (prostě takové ty základní, nestatistické kejkle). Tato část volně koresponduje s kapitolami 1-5 v Crawley (2007).

Témata teoretické části:

1. Úvod do R. Nápověda a literatura. Prostředí R a specifické fígle; R-editor, RStudio; import a export dat z/do různých souborů. Základní syntaxe, operátory, znaménka, závorky.

2. Základní struktury v R. Proměnné, vektory, matice, data frames, arrays, strings, characters vs. numbers. Indexování jako zcela zásadní věc.

3. Stručný ?bestiář" některých zásadních funkcí. Generování náhodných čísel. Operace s vektory a maticemi (sample, order, sort, diff, max, min, unique, sums, which, ...). Operace s řetězci. Základní matematické operace.

4. Paní skriptů a programování - velmi důležité, budeme se tomu snažit dost věnovat. Funkce, argumenty funkce. Control flow & smyčky (if, else, for, while, repeat). Funkce uvnitř funkcí.

5. Dobré zvyklosti při programování.

6. Vizualizace a grafika v R. Obecné zásady vizualizace dat. Plot, lines, points, abline, text, image, par atd. jako nástroje na vizualizaci prakticky čehokoliv. Lattice (Trellis) graphics. Propojení grafiky a programování - kreslení a animace v R.

Poslední úprava: Weiser Martin, Mgr., Ph.D. (09.08.2024)
Výsledky učení -

Cílem kurzu je zvládnout R tak, abyste mohli samostatně 

tvořit (jednoduché) aplikace. Hlavním výsledkem učení tedy bude, 

že samostatně vytvoříte aplikaci v R, které budete detailně rozumět 

a dokážete ji proto dále upravovat a přizbůsobovat novým potřebám. 

V průběhu kurzu dosáhnete těchto výsledků učení:

- Podle jména a podle popisu najdete vhodnou funkci k řešení problému.

- Přečtete a porozumíte popisu existujících funkcí, v popisu najdete relevantní části tak, že dokážete funkci použít. 

- V dokumentaci, ve fórech, zprávách a textech na internetu, ve výsledcích práce velkých jazykových modelů najdete rady a tipy pro řešení zadaného konkrétního problému.

- Najdete, nainstalujete a použijete rozšiřující knihovny. 

- Ručně spustíte a ukončíte interpretr jazyka R. 

- Mezi jednotlivými projekty či sezeními přenesete libovolná data. 

- Interpretru zpřístupníte externí data. Tato data budou ve formách různých tabulek, ve specifických případech ve formě textů.

- Vyrobíte přenositelné soubory, které budou obsahovat grafické a datové výsledky vaší práce v interpretru.

- Vytvoříte tyto typy datových objektů: vector, factor, matrix, list, dataframe.

- Určíte vlastnosti předem neznámých objektů zmíněných typů.

- Objekty dokážete spojovat a slučovat, přejmenovávat, mazat a měnit jejich typy.

- Dokážete měnit jednotlivé prvky datových objektů.

- Prvky v datových objektech najdete pomocí jejich polohy, hodnoty nebo atributů.

- Dokážete měnit pořadí prvků v datových objektech.

- Z kombinací objektů dokážete najít průnik a sjednocení prvků, unikátní a opakované prvky.

- Použijete logické operátory k vyhodnocení vlastností prvků objektů, použijete obyčejné, "shrnující" i "zkrácené" logické operátory.

- Poznáte zvláštnosti strojového zpracování desetinných čísel (čísel s plovoucí desetinnou čárkou), zaokrouhlování a specifických hodnot mimo racionální čísla.

- Vytvoříte vlastní funkce, tj. objekty, které v sobě obsahují soustavu jiných funkcí, s cílem zjednodušit práci s daty.

- Přečtete kód již existujících funkcí a přizpůsobíte si jeho části tak, aby plnily Vaše specifické požadavky.

- Vytvoříte funkce, které budou využívat vaše jiné funkce, pracovat s výchozími

 i povinně zadávanými argumenty bez toho, aby ovlivnily existující objekty v uživatelském prostoru mimo své prostředí.

- Provedete podmíněné úpravy prvků "vektorů". 

- Vytvoříte funkce tak, aby se jejich jednotlivé části spouštěly podmíněně. 

- Aplikujete základní mechanismy ošetření chyb vstupů funkcí (vyvolání výjimky - chyby).

- Automatizujete opakované volání funkcí pomocí programových smyček.

- Do smyčky vestavíte podmíněné přerušení a vynechání cyklu.

- Zvolíte vhodný typ smyčky (repeat, while nebo for) pro konkrétní programátorský problém.

- Jednoduché případy smyček převedete do krátkých forem s použitím funkcí z rodiny apply, získáte povědomí o nástrojích funkcionálního programování (vectorize, outer, Reduce, Map, Filter, do.call,...)

- Textové řetězce spojíte i rozdělíte.

- Části textových řetezců najdete a změníte na základě pozice i obsahu, použijete při tom regulární výrazy.

- Vytvoříte vektorové i bitmapové grafy.

- Pomocí základní grafiky vytvoříte úplně anotované histogramy, sloupcové a krabicové grafy, bodové a spojnicové grafy, heatmapy a vrstevnicové grafy.

- Typ grafu zvolíte na základě zobrazovaných dat a cíle sdělení.

- Do těchto grafů přidáte legendu, dodatečné osy, textové popisy, body, linie a šipky.

- U elementů grafů změníte zobrazení (barvu, velikost, použité symboly), a to včetně podmíněných změn.

- Změníte barevnou paletu svých grafů a to i s ohledem na přístupnost a očekávané použití, poznáte projekty ColorBrewer a viridis.

- Vytvoříte graf pomocí knihovny ggplot2, využijete ji při tvorbě grafů s "facetami" - "podgrafy"

Poslední úprava: Weiser Martin, Mgr., Ph.D. (28.01.2026)
 
Univerzita Karlova | Informační systém UK