Last update: Mgr. Martin Weiser, Ph.D. (09.10.2020)
The main purpose of the course is to teach participants how to program (in R) and effectively use programming for solving common problems. We would like to show that programming is, in principle, easy and anybody can do it (R is very intuitive). Moreover, we would like to demonstrate that R is not just statistics (the course is not about statistics) but can be used to work with graphics, databases, simulations or GIS.
We intend to make the course comprehensible for all students, there are no restrictions concerning year, degree or programme. However, we assume that the attendants will be biologists with elementary experience with biological data and with simple graphs. The course is especially suitable for all who spend more than ~3 hours a day working with computer.
This course is run in English. If you are interested in the Czech version, look at MB162P13 - R pro život
Also, if you prefer short and intensive courses, have a look at MB120C15E - Flash R course
In 2020/2021 the course is taught on-line, see Moodle.
Last update: Mgr. Martin Weiser, Ph.D. (09.10.2020)
Anglická verze kurzu MB162P13 - "R pro život"
Anotace kurzu MB162P13 - "R pro život":
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ě.
V akad. roce 2020/2021 výuka probíhá on-line, viz Moodle.
Literature -
Last update: Mgr. Martin Weiser, Ph.D. (02.10.2020)
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. (second edition exists already)
Venables WN & Smith DM (2008) An introduction to R. R development core team.
http://www.r-project.org
Last update: Mgr. Martin Weiser, Ph.D. (02.10.2020)
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. (existuje i druhé vydání)
Venables WN & Smith DM (2008) An introduction to R. R development core team.
http://www.r-project.org
Requirements to the exam -
Last update: Mgr. Martin Weiser, Ph.D. (09.10.2020)
"Zapocet": an open-textbook test. Test topics: Rhelp system, data manipulation, basic programming and graphics. Extra points are available via tests completed throughout the semester.
Exam: student makes a simple programme and demonstrates it.
Last update: Mgr. Martin Weiser, Ph.D. (09.10.2020)
Zápočet je udělován na základě písemného testu (práce s daty, řešení problémů, řízení směrovaá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í.
Syllabus -
Last update: Mgr. Martin Weiser, Ph.D. (24.10.2019)
1. Theoretical part will be an interactive lecture (with computers). We will introduce basics of work with data, graphics and programming in R (all the non-statistical tricks). This part roughly corresponds with chapters 1-5 in Crawley (2007).
2. Practical part: students will face a real problem-task (e.g. to implement a cellular automaton, to model fractals, to load a bulky database into R and make simple queries, to implement some ecological model, to create some nice graphics). Students will be allowed to come with their own task or we will offer some task designed by us. The practical part will consist of several sessions. During each session we will evaluate the progress in the task, discuss problems and suggest possible solutions. To obtain credits for the course everybody will have to solve at least one task.
Topics of the theoretical part:
1. Introduction to R. Help and literature. R environment and specifics of R. R-editor, Tinn-R with highlighted syntax; data import and export, basics of syntax, operators, signs and brackets.
2. Basic structures in R. Variables, vectors, matrices, data frames, arrays, strings, characters vs. numbers. Indexes as a crucial concept.
3. Brief "bestiary" of some useful functions. Random number generation. Operations with vectors and matrices (sample, order, sort, diff, max, min, unique, sums, which). Operations with strings. Basic mathematical functions.
4. Scripting and programming (code writing): most important, we will dedicate extra time to make sure anybody understand this.
Functions, arguments of functions. Control flow & loops (if, else, for, while, repeat). Functions within/inside function.
5. Good programming practice.
6. Data visualisation and graphics in R. Good practice in data visualization. Plot, lines, points, abline, text, image, par etc. as tools to visualize nearly anything. Lattice (Trellis) graphics. Connection of graphics and programming.
Last update: Mgr. Martin Weiser, Ph.D. (24.10.2019)
1. Teoretická část 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).
2. Praktická část při které budou studenti pracovat na řešení konkrétního problému (např. naprogramovat celulární automat, modelovat fraktály, načíst rozměrnou databázi a vytáhnout z ní co potřebuji, implementovat nějaký ekologický model, vytvořit nějakou zajímavou grafiku). Tento problém si buď vyberou z námi nabízených témat, nebo přijdou s problémem vlastním. Praktická část bude rozložena do několika ?sessions", během kterých probereme, kam studenti pokročili od minula, a s čím mají případně problém.
Témata teoretické části:
1. Úvod do R. Nápověda a literatura. Prostředí R a specifické fígle; R-editor, editor Tinn-R se zvýrazněnou syntaxí; 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.