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 algebra
8 Grafik med ggplot2, spatiala data, text och strängar m.m.
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.

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

Extramaterial

Utöver kurslitteraturen kommer följande extramaterial att användas:

  • 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
  • Google developers R videos (GD) här
  • Roger Pengs R videos (RP) här
  • Video om R markdown (Rmd) här
  • R-markdown cheat sheet (Rmd cheat) här
  • R-markdown reference guide (Rmd ref) här
  • Video om linjär regression (lm) del 1 och del 2
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
F4
F5
F6
F7
F8
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

Mer kommer.

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
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