Göm menyn

732G33 Programmering i R

Kursinformation

Mål

Detta är webbsidan för kursen i programmering med statistikprogrammet R. Denna kurs ges varje vårtermin vid Linköpings universitet.

Mål

Syftet med denna kurs är att introducera enklare programmeringstekniker med särskilt fokus på programspråket R.

Innehåll

Kursen kommer behandla statistiskt programmering i R. Kursen ger en introduktion till bland annat:

  • Installera och använda R / R-Studio.
  • Att använda hjälpen i R / R-studio.
  • Importera och exportera data
  • Datastrukturer och bearbeta data
  • Funktioner och dokumentation
  • Programmeringsteknik
  • Matrisoperationer
  • Strängar och datum
  • Statistik och grafik
  • Installera och använda R-paket
Undervisningsformer

Kursen består av 8 block, ett block per vecka. Varje block innehåller följade delar:

  • Föreläsning, F . Föreläsningen introducerar nya koncept och lägger grunden för datorlaborationen. Till varje föreläsning finns läsanvisningar till kursboken och ev. extramaterial.
  • Datorlaboration, D. Denna del är den viktigaste delen av kursen. Vid laborationerna kommer ni att programmera och lära er lösa problem med och i R.

I andra halvan av kursen kommer även ett Miniprojekt att genomföras.

Följande ämnen kommer behandlas i respektive block:

Block Innehåll
1 Introduktion, vektorer, logik och kort om funktioner
2 Datastrukturer och databearbetning, (I)nput/(O)utput
3 Programkontroll
4 Mer om funktioner, programmeringsteknik och R-paket
5 Objektorientering, linjär algebra och datumhantering
6 Grundläggande grafik, beskrivande statistik, Rmarkdown och externa datakällor
7 Slumptal, statistik, linjär regression, text och strängar m.m.
8 Grafik med ggplot2 och spatiala data
Kurslitteratur

  • A First Course in Statistical Programming with R av Braun och Murdoch (BM). Boken går att köpa på Akademibokandeln på campus Valla. Lösningar till uppgifterna i boken går att ladda ner här.

  • Handling and processing strings in R av Gaston Sanchez (GS). Boken finns att ladda ned här.

  • Dates and Times Made Easy with lubridate av Garrett Grolemund och Hadley Wickham (GGHW). Artikeln finns att ladda ned här.

  • ggmap: Spatial Visualization with ggplot2 av David Kahle and Hadley Wickham (DKHW). Artikeln finns att ladda ned här.

  • Best practices for scientific computing av Greg Wilson et. al. (GW) Denna artikel finns tillgänglig här.

Videomaterial
  • Google developers R videos (GD) här
  • Roger Pengs R videos (RP) här
  • Video om R markdown (Rmd) här
  • Video om linjär regression (lm) del 1 och del 2
Referenskort
  • R reference card v.2 av Matt Baggot. Detta referenskort med viktiga funktioner är det hjälpmedel tillåts vid examen. Referenskortet kan laddas ned här
  • R-markdown cheat sheet (Rmd cheat) här
  • R-markdown reference guide (Rmd ref) här
Referenslitteratur
  • Advanced R av Hadley Wickham. Denna (online-)bok är inte obligatorisk men kan användas för fördjupning och finns här.
Föreläsningar

Kursen innehåller åtta föreläsningar. Nedan finns material för respektive block.

Föreläsning Slides .Rpres
F1 HTML .Rpres
F2 HTML .Rpres
F3 HTML .Rpres
F4 HTML .Rpres
F5 HTML .Rpres
F6 HTML .Rpres
F7 HTML .Rpres
F8 HTML .Rpres
Läsanvisningar
  1. Introduktion, vektorer, logik och kort om funktioner
    • BM: Kap: 1.1, 2.2.1 - 2.2.5, 2.2.7 - 2.2.11, 2.3, 2.3.2, 2.3.4, 2.4, 4.3.2
    • GD: Video: 1.1-1.5, 1.7
    • RP: Video: What makes R different?, Background and Overview, How to get Help
  2. Datastrukturer och databearbetning, (I)nput/(O)utput
    • BM: Kap: 2.2.12 - 2.2.16, 2.5
    • GD: Video: 1.6, 2.1, 2.2, 2.5
    • RP: Video: Lecture 2a, 2b och 2c, The str function, Reading/Writing Data: Part 1 och 2
  3. Programkontroll
    • BM: Kap: 4.1
    • GD: Video: 2.3 - 2.4
    • RP: Video: Control structures in R
  4. Mer om funktioner, programmeringsteknik och R-paket
    • BM: Kap: 4.2, 4.4 - 4.6
    • GD: Video: 4.1 - 4.5
    • RP: Video: Writing functions, Scoping rules for R
    • GW: Hela artikeln
  5. Objektorientering, linjär algebra, tid och datum
    • BM: Kap: 6.1 - 6.3
    • GGHW: Hela artikeln
    • RP: Video: “Dates and Times”
  6. Grafik, R-markdown, knitr, externa datakällor
    • BM: Kap: 3
    • RP: “Literate Statistical Programming with knitr”
    • Rmd, Rmd cheat, Rmd ref
  7. Statistisk analys och simulering, linjär regression och texthantering
    • BM: Kap: 5.1-5.3
    • GS: Se labb.
    • RP: “Regular Expressions”, “Introduction to the Baltimore Homicide Data”, “Regular Expressions in R”
    • lm: Video 1 och 2
  8. Grafik med ggplot2 och spatiala data
    • RP: “Plotting with ggplot2: Part 1”, “Plotting with ggplot2: Part 2”
    • DKHW: Hela artikeln
Datorlaborationer

Kursen innehåller åtta datorlaborationer. Dessa laborationer är obligatoriska.

Datamaterialet som används i laborationerna finns att ladda ned här.

En mall för laborationerna går att ladda ned här.

Obs! För att ladda ner filerna från github, högerklicka på knappen Raw och välj Spara länk som …

Block Labbinstruktion
D1 PDF
D2 PDF
D3 PDF
D4 PDF
D5 PDF
D6 PDF
D7 PDF
D8 PDF
Miniprojekt

Miniprojektet kommer genomföras i två delar. Den första delen handlar om att läsa in data, beskrivande statistik och R:s basgrafik. Den andra delen behandlar databearbetning, grafik med ggplot2 och analys.

Den första delen lämnas in i samband med laboration 6 och den andra som en del av laboration 8.

[Här] finns beskrivet i detalj hur miniprojektet ska genomföras.

Ladda ned och installera R

Det är en fördel att ladda ned och installera R och R-Studio på sin egen dator:

  • Ladda ner och installera R här
  • Ladda ner och installera R-Studio här

Här finns YouTube - klipp om att installera R och R-Studio på Windows, Mac och Linux/Ubuntu

Tidigare tentor

Tidigare tentor finns att tillgå här.

Lärare och examinatorer

  • Kalle Wahlin, kursansvarig för kursen.
  • Måns Magnusson, föreläsare
  • Isak Hietala, Josefin Lundmark, Lisa Åkerman, Linn Mattsson, Marcus Palmberg, labbassistenter
  • Patrik Waldmann, huvudexaminator