STIN300 Statistisk programmering i R

Studiepoeng:5

Ansvarlig fakultet:Fakultet for kjemi, bioteknologi og matvitenskap

Emneansvarlig:Jon Olav Vik

Campus / nettbasert:Undervises campus Ås

Undervisningens språk:Engelsk, norsk

Antall plasser:150

Frekvens:Årlig

Forventet arbeidsmengde:Forelesninger/øvinger 60 timer. Selvstudium 65 timer.

Undervisnings- og vurderingsperiode:Emnet starter i januarblokk. Emnet har undervisning/vurdering i januarblokk.

Om dette emnet

Dette er et intensivkurs der du bruker programmeringsspråket R til å anvende dine statistiske ferdigheter på vitenskapelige data. Har du ikke tidligere erfaring med programmering, må du være beredt til å legge inn mye innsats, se "anbefalte forkunnskaper".

Kursdeltakerne er vanligvis master- eller PhD-studenter som har valgt seg et forskningstema. Bruk dine egne data om du kan, eller be veileder om et lignende datasett. Har du ikke valgt et forskningstema, kan du låne noen andres data, eller falle tilbake på en tidligere STIN300-semesteroppgave om å klassifisere influensavirus utfra nukleotidsekvensene deres.

Du vil skrive en rapport i R markdown med følgende innhold:

  • Innledning: Beskriv det fenomenet fra virkeligheten som du studerer, og formuler forskningsspørsmålet ditt konsist. Beskriv kort opphavet til dataene og tydeliggjør hvordan tall og målinger gjenspeiler fenomenet du studerer.
  • Data-import: Bruk R til å få data fra fil(er) inn i datastrukturer i R. Oversett datatyper der det trengs, slik at tall ikke feilrepresenteres som tekst, kategoriske variabler blir korrekt kodet som "faktorer" i R, sann/usann-verdier representeres som logiske variabler, osv.
  • Skisser datastrukturen: Bruk R til å utforske og beskrive omfanget og størrelsen av dataene, f.eks. antall variabler, utvalgsstørrelse, hvilke verdier hver kategoriske variabel kan ha, osv.
  • Data-visualisering: Utform og gjennomfør minst én datagrafikk som gir et nyttig overblikk over dataene dine eller svarer på et forskningsspørsmål. Forklar i ord hva dataene viser, og tolk hva dette innebærer.
  • Statistisk analyse: Velg en passende statistisk modell eller prosedyre som klargjør et mønster eller en sammenheng som er relevant for forskningsspørsmålet ditt. Gjennomfør det ved bruk av R. Oversett resultatene tilbake til håndfaste begreper og størrelser. Diskuter hva resultatene innebærer om fenomenet du studerer.

Rapporten du lager, vil være fullt reproduserbar og inneholde kjørbar kode. Den vil være et nyttig utgangspunkt for ditt videre arbeid, og vil lette diskusjoner med f.eks. en veileder.

Fokuser på hvordan kursaktivitetene leder fram mot dette sluttoppdraget. Du kan lære fra frie lærebøker på nett, daglige øvingsdokumenter (mange med screencasts), og ved å stille effektive spørsmål i Diskusjoner i Canvas.

Dagsdokumentene omfatter en innføring i R-programmering, med fokus på pakkene ggplot2 og dplyr fra samlepakken tidyverse. Vi vektlegger visualisering, samt strukturering og manipulering av data i tabellformat. Videre kommer vi inn på operatorer, variabler, datatyper og grunnleggende datastrukturer, kontrollstrukturer som løkker og betingelser, fil- og tekstbehandling, og brukerdefinerte funksjoner.

Deltakerne forventes å bidra aktivt til felles læring, både ved å poste spørsmål og diskusjonstemaer under Diskusjoner i Canvas, og i sanntidsøktene hver formiddag. Å stille effektive spørsmål med reproduserbare eksempler er en avgjørende ferdighet som du vil lære gjennom hele kurset.

Dette lærer du

Studentene skal ved fullføring av kurset beherske en programmeringsbasert tilnærming til statistisk dataanalyse i R. Studentene skal kunne visualisere og manipulere data og lage egne funksjoner som benytter/modifiserer tilgjengelige funksjoner for å løse spesielle problemer som ikke kan løses med standard kode. Studentene skal også kunne presentere sine analyseresultater i en oversiktlig og vitenskapelig form, ved hjelp av tekst og grafikk.

KUNNSKAPER: Studentene skal få

  • forståelse av hvordan programmering kan automatisere krevende statistiske beregninger.
  • kjennskap til begrepsapparat, syntaks og konvensjoner for å beskrive, tilpasse og tolke statistiske modeller i R.

FERDIGHETER: Studentene skal kunne

  • tolke output av R sine statistiske modelleringsfunksjoner, f.eks. lm() for lineær regresjon.
  • lese inn data i ulike filformater som Excel, kommaskilt tekst, FASTA.
  • lage egne funksjoner som benytter tilgjengelige funksjoner for å løse problemer som ikke kan løses med standard kode.
  • presentere resultater av statistisk analyse i en vitenskapelig, oversiktlig form gjennom reproduserbare, kjørbare rapporter som fletter sammen forklarende tekst, programkode og output som tabeller og grafikk.
  • feilsøke problemer ved å lokalisere feil, reprodusere feilen på en mindre delmengde av problemet, steppe gjennom kode linje for linje osv.
  • orientere seg i dokumentasjon og hjelpetekster for R-pakker som implementerer statistiske metoder som studenten har kjennskap til.

GENERELL KOMPETANSE: Studentene skal være rustet til å anvende statistiske metoder i R på datasett som kommer dem i hende gjennom senere studier og arbeidsliv. Dette innebærer å få dataene inn i R, tilrettelegge dem på den form analysefunksjonene krever, kjøre analyser med hensiktsmessige innstillinger, og tolke og presentere resultatene i en form som er nyttig for sluttbrukeren.

  • Lærere er tilgjengelige i sanntidsøkter første halvpart av hver dag, mens på ettermiddagen jobber dere på egen hånd eller i selvorganiserte grupper. Del oppmerksomheten mellom å planlegge rapporten om egne data, og å studere opplæringsdokumenter, lærebøker og R-dokumentasjon for å tilegne deg de nødvendige ferdighetene.

    De første to formiddagene vil vi "live-kode" sammen, slik at alle kommer godt i gang i programmeringsverktøyet RStudio. Så "flippes" klasserommet, og senere sanntidsøkter vil ta opp spørsmål og emner på studentenes initiativ med basis i Diskusjons-poster i Canvas.

    Du vil få veiledning i å formulere effektive spørsmål, som er en nøkkelferdighet fordi det 1) hjelper andre å hjelpe deg og 2) hjelper deg å hjelpe deg selv. Dette kommer vi tilbake til gjennom hele kurset.

  • Kurssidene i Canvas lenker til daglige øvingsdokumenter, ulike guider og frie lærebøker på nett.

    Bortimot alle R-funksjoner har utfyllende dokumentasjon med kjørbare kode-eksempler. Du vil lære å finne fram i hjelpesystemet i R, lede deg selv gjennom eksemplene, og overføre dem til dine egne utfordringer.

    Nettforum som Stack Overflow tilbyr gratis ekspertstøtte. Du vil lære å søke blant eksisterende svar, og hvordan du kan beskrive problemer tydelig nok til at det blir mulig for andre å hjelpe.

    Still spørsmål i Diskusjoner i Canvas. De vil bli besvart; enten i Canvas eller i fellesdiskusjoner.

    Lærere er tilgjengelige i sanntidsøktene hver dag fram til tolv.

    Spørsmål og temaer fra Diskusjoner i Canvas vil tas opp i neste dags sanntidsøkt så vi kan diskutere og reflektere rundt dem sammen. Studentene forventes å bidra aktivt og reflektere over problemløsnings-prosessen så vel som bidra til å løse hverandres utfordringer.

  • Det er ikke noe fast pensum; det viktige er at du når læringsmålene fra ditt eget forskningsfelt. Om du lærer fra øvingsdokumenter, lærebøker eller selvstudium av hjelpetekster er opp til deg. Disse frie lærebøkene er nyttig referansestoff:

    Liker du å ha bøker på papir, kan du kjøpe dem på Amazon.

  • Statistikk tilsvarende C i STAT100. Enkel lineær regresjon og variansanalyse bør være kjent.

    Du forventes å være kjent med filsystemet, tastaturet, nettleseren og datamaskinen din.

  • Bestått/ikke bestått basert på tester og rapporten med en analyse av et datasett fra ditt eget fagfelt. Alt må være godkjent. Godkjente tester gjelder bare i inneværende semester.
  • Ekstern sensor godkjenner opplegg for vurdering.
  • Bestått/ikke bestått basert på tester og rapporten med en analyse av et datasett fra ditt eget fagfelt. Alt må være godkjent. Godkjente tester gjelder bare i inneværende semester.
  • Studentene må ha egen laptop med Windows 10, Linux eller macOS 11 eller høyere for å kjøre programmene vi bruker. (Se evt. oppdaterte systemkrav.) Chromebook kan ikke brukes fordi de ikke dekker systemkravene til programmene vi kjører.
  • 4 timer kombinert forelesning/interaktiv programmering daglig i tre uker.
  • M-BIAS
  • Bestått/ Ikke bestått
  • Realfag