Hei,
Velkommen til den første numeriske øvelsen i BIO101 - Organismebiologi. Som en del av labkurset i BIO101 skal du få levert et enkelt datasett som består av reelle observasjoner hentet fra tidligere labkurs i mikrobiologi. Dette datasettet skal du bruke for å lære deg å:
Øvelsen skal utføres i R/RStudio. Vi på bioST@TS har utviklet denne siden for å hjelpe deg med å komme i gang med R/RStudio og å løse de numeriske oppgavene i denne øvelsen.
R er både et programmeringsspråk og en programvare for statistiske beregninger og grafikk. R er et kraftig og fleksibelt verktøy som gjør jobben med data analyse enkelt og produktivt.
I motsetning til de fleste programvarene som du kjenner bruker R/RStudio kommandoer for å utføre oppgaver. Det betyr at du skal skrive kode for å håndtere data og for å lage tabeller og plotter.
Ved hjelp av denne siden skal du lære å bruke språket R for å skrive enkle “setninger” som transformere data til tabeller og figurer som skal brukes i din rapport.
R kommer med sitt eget grafiske grensesnitt som gjenkjennes som minimalistisk, med begrenset funksjonalitet, få knapper og få menyer. Dermed installerer de fleste en alternativt grensesnitt som fortsatt kjører R, men som virker mer produktivt og brukervennlig. Det finnes flere sånne programvarer. Den som vi anbefaler og viser til heter RStudio.
Merk at RStudio brukes i kombinasjon med R, ikke istedenfor R. Derfor kommer du til å installere begge på din maskin (se seksjon 2.1). RStudio tar over R sitt grensesnitt, men alle beregninger utføres av R “i bakgrunnen”. Dette forklarer hvorfor du skal ofte lese “R/RStudio” på denne siden.
Det finnes mange fordeler med å ta R/RStudio i bruk:
2+2
, (2+3)*4
, logaritme (log(42)
), eller kvadratrot (sqrt(42)
), samt veldig avanserte statistiske analyser (f. eks. for å bygge data modeller basert på millioner av observasjoner).Det er ikke bare BIO101 som tar bruk av R/RStudio.
Flere emner i bachelorprogrammet bruker det òg, f. eks. BIO102, BIO104, STAT101 og BIO201.
I tillegg blir R/RStudio sentralt i de obligatoriske emnene BIO300A og BIO300B i masterprogrammet.
Derfor er det lurt å bli kjent med R så fort som mulig.
Det finnes mange steder der du kan finne hjelp og informasjon om R/RStudio:
Nå er det på tid å starte jobben. Først skal du installere R og RStudio, og hente de filene som vi skal jobbe med. Deretter skal vi åpne “prosjektet” og bli kjent med grensesnittet til RStudio.
Programvarene kan du laste ned R direkte fra nettsiden til The Comprehensive R Archive Network og RStudio fra RStudio sin nettside. Pass på at du velger den versjonen som passer din maskin (Windows, MacOS, Linux, etc).
Nå skal vi hente de filene som du trenger til øvelsen.
Klikk på denne lenken for å laste ned filen Bio101_tutorial-main.zip
.
Åpne denne filen og ekstraher den hele mappen på harddisken din.
Velg et lurt sted, f.eks .\Mine dokumenter\BIO101\
eller lignende.
Bio101_tutorial.Rproj
.
Når du dobbelklikker på filen, så åpnes den direkte i RStudio.
Da får du se dette grensesnittet (Figur 2.1):
Øverst i vinduet finner du hovedmenyen med mange funksjoner:
Via denne menyen kan du bl.a. lage ny fil, åpne eksisterende filer eller prosjekter, lagre endringer i filer, osv.
Grensesnittet (se Figur 2.1) deles i 3 områder:
Console
, Terminal
og Jobs
,Environment
, History
, Connections
and Tutorial
,Files
, Plots
, Packages
, Help
and Viewer
.Her skal vi fokusere på de fanene skrevet i fet skrift, nemlig Files
(se seksjon 2.3.3) og Console
(se seksjon 2.3.2).
Dessuten skal vi ta bruk av skript (se seksjon 2.3.1).
Et skript er et arbeidsdokument der du skriver kode, kommentarer og tekst.
Du kan starte jobben i R/RStudio med et blankt skript, eller åpne et forhåndsfylt skript.
I denne øvelsen skal vi jobbe i en forhåndsfylt fil som heter Bio101_Template_rapport.Rmd
.
Vi kommer tilbake til det senere i seksjonen 4.
Hvis du ønsker å opprette et nytt skript for å jobbe med noe annet eller trene på koding, så trykker du på CTRL + Shift + N
(⌘ + Shift + N
), eller velger File > New File > R Script i menyen øverst.
Da dukker det opp et nytt ark opp til venstre. Dette arket heter Untitled1
og er helt blankt (se Figur 2.3).
Run
(se Figur 2.4).
Fanen Console
finnes du nederst til venstre i RStudio.
Konsolen er “motoren i R”.
Det er konsolen som utfører koden som du sender ut fra skriptet.
Figur 2.5 viser en enkel kodelinje (mean(1:10)
) i skriptet (øverste grønne boks) og det tilsvarende resultatet i konsolen (nederste grønne boks):
Koden vises i blått på en linje som starter på >
.
Derimot skrives resultatet av mean(1:10)
i svart på en linje som starter på [1]
.
Fanen Files
finner du nederst til høyre i RStudio (se Figur 2.6).
Files
er en filutforsker som viser innholdet på prosjektmappen.
Her skal du finne filene start_intro_tutorial.R
, Bio101_Introduction.Rmd
og Bio101_Template_rapport.Rmd
som vi skal snart ta i bruk.
Hvis du ønsker å lagre endringer i skriptet ditt, så går du tilbake til fanen Untitled1
og trykker på CTRL + S
(⌘ + S
).
Oppgi et filnavn og trykk på Save
.
Din fil vises nå i fanen Files
(NB: som standard lagres nyopprettede filer i prosjektmappen).
Files
(se Figur 2.7). Et nytt vindu åpnes som lar deg velge filene som skal importeres.
R-pakker (altså “packages”) er utvidelser som legger til funksjoner og funksjonaliteter i R. Noen pakker gir muligheten til å rydde datasett, noen lar deg tegne fine plotter, osv.
I den øvelsen trenger vi pakkene tidyverse
, learnr
, shiny
and rmarkdown
.
De installeres via konsolen ved hjelp av funksjonen install.packages()
. Kopiér og lim inn den følgende linjen direkte i konsolen, og trykk Enter
:
install.packages()
tar seg av å nedlaste og installere pakker i R/RStudio.
Dessuten bruker du funksjonen library()
for å aktivere de installerte pakkene når de trenges.
Da kan du kopiere og lime inn denne koden i konsolen:
Som vi så i seksjon 2.3.1, er et skript like en notisblokk. Der kan du skrive akkurat det du vil uten at R/RStudio skal utføre noe som helst før du ber den gjøre det.
Du kan for eksempel skrive den følgende koden:
Denne enkle koden regner gjennomsnittet av tallene fra 1 til 10. Det forklares på denne måten:
1:10
er et uttryk som betyr “alle de tallene fra og med 1 til og med 10”,mean( )
er en funskjon som ber R regne ut gjennomsnittet av alt som finnes mellom parentesene (
)
.Når du har skrevet koden i skriptet og er klar til å utføre den, så trykker du på knappen Run
(se Figur 2.4) for å sende koden til konsolen. Alternativt kan du trykke CTRL + ALT + Enter
(⌘ + ⌥ + Enter
) for å sende hele koden til konsolen.
Så du så i seksjon 2.3.4, er det er helt mulig å skrive kode direkte i konsolen.
Når du gjør det, så trykker du bare på Enter
for å utføre den.
Resultatet vises da på den nesten linjen.
Imidlertid er det ikke anbefalt å gjøre det.
Når du utfører kode i konsolen, så blir den ikke lagret.
Det betyr at du blir nødt til å taste den inn igjen hver gang du skal utføre den, eller redigere den.
Dette er relativt uproblematisk når man skriver så enkle kodelinjer som mean(1:10)
eller library(tidyverse)
.
Men det blir fort krevende og frustrerende når man skal skrive kode over flere linjer, eller utvikle koden steg for steg.
Derfor anbefales det på det sterkeste å alltid skrive kode i et skript, ikke direkte i konsolen.
I prosjektmappen til denne øvelsen finner du filen start_intro_tutorial.R
.
Klikk på den i fanen Files
.
Filen åpnes direkte i en ny fane opp til venstre.
Klikk med musepekeren på linjen med kode.
I menyen øverst i fanen, klikk på Run
(alternativt Source
- se Figur 3.1).
Etter noen sekunder åpner seg et nytt vindu i en internett browser (se Figur 3.3). Appen inneholder bakgrunnsinformasjon om alt du bør vite for å lage figurene i rapporten. Du skal lese og lære om datasettet, gjennomsnitt og variabilitet, koden som lar deg regne dem, koden som lar deg lage tabeller, tegne plot, osv.
Hvis appen ikke åpnes med denne metoden, kan du klikke på filen BIO101-Introduction.Rmd
i fanen Files
.
Filen åpnes i en ny fane. Trykk på knappen Run document
for å starte appen.
Appen dukker opp i et separat vindu. Klikk på `Open in Browser
for å vise appen i nettleseren din.
Den appen inneholder flere interaktive vinduer der du kan prøve koden selv, redigere og utføre den. Slike vinduer ser sånn ut:
Disse vinduene er forhåndsfylt med ufullstendig kode.
Her kan du redigere koden, legge til data, og utføre den ved å trykke på knappen Kjør kode
.
Resultatet vises med en gang.
Er du ikke fornøyd med resultatet eller mangler det noe, så kan du redigere koden (eller begynne på nytt ved bruk av knappen Start på nytt
) og utføre den på nytt.
Når du blir ferdig med appen, så skal du ha lært alt du trenger for å kjøre øvelsen.
Nå kan du åpne malen for rapporten.
Det gjør du ved å trykke på filen Bio101_Template_rapport.Rmd
i fanen Files
.
Malen ser sånn ut:
Denne filen er skrevet i Rmarkdown
-format som gjør redigeringsprosessen pålitelig.
Ved bruk av den forhåndsinstallerte R-pakken knitr
og knappen Knit
(se den røde boksen i Figur 4.2), produserer RStudio et ferdigformattert dokument med figurer, titler og tekst.
Hvis du trykker allerede nå på Knit
, så får du dette dokumentet:
Her skal vi se steg for steg hvordan du skal fylle ut malen.
---
(se Figur 4.4).
Dette er toppteksten.
Den skal vise titlen, forfattere og dato øverst i rapporten.
Legg til titlen, forfatternavn og datoen mellom "
"
.
Husk å ikke fjerne " "
.
Den siste linjen med output: html_document
må du la stå uendret.
For at R/RStudio skal kunne lage figurer, må du aktivere den R-pakken tidyverse
og importere datasettet.
Det gjøres ved å skrive kode i denne første “code chunk-en”.
NB: chunks er områder med grå bakgrunn som brukes til å utføre kode (f. eks. til å installere/aktivere pakker, behandle data og produsere figurene).
Hver chunk starter på ```{r }
og slutter på ```
.
Her finner du den første av de tre chunk-ene i malen:
Den heter “setup” (```{r setup, include=FALSE}
).
Målet med den er å aktivere tidyverse
og importere datafilene.
I appen har du lært å bruke library()
for å aktivere R-pakker.
Skriv koden som aktiverer tidyverse
.
I appen har du lært hvordan man leser og importerer data fra Kimtall.csv
med read_delim()
.
Her skal vi bruke filen Koliforme.csv
istedenfor.
Skriv kode som skal importere datasettet fra Koliforme.csv
og navngi datasettet koliforme
.
NB: pass på å ikke fjerne ```
i slutten av chunk-en!
Skriv en innledning i to eller tre setninger om hva studien handler om. Hva er hovedspørsmålet til denne studien? Hva er forventningene?
Trenger du hjelp med introduskjonen, gå til denne bioSKRIV-siden.
NB: tittelen selv (som begynner på ##
og vises i blått) skal du ikke redigere. Det er bare teksten (i svart) som skal endres.
Beskriv hvordan dataene ble samlet og analysert.
Tips: denne øvelsen er ganske like labøvelsen “1.3 Kimtall og koliforme bakterier i vann” som du finner i labheftet.
Hvor ble prøvene hentet? Hva slags målinger består datasettet av? Osv.
Trenger du hjelp med metodedelen, gå til denne bioSKRIV-siden.
Her skal du presentere resultatene i studien ved å skrive noen setninger og legge til to figurer: tabell og boksplott.
Trenger du hjelp med resultatdelen, gå til denne bioSKRIV-siden.
Den første figuren er tabellen som viser gjennomsnitt og standardfeil til koliforme bakterier i alle 3 vannene.
For å lage tabellen skal du skrive den tilsvarende R-koden som du har lært i appen i den code chunk-en som starter på ```{r tabell, eval=TRUE, echo=FALSE}
.
NB: Husk å ikke fjerne ```
i slutten!
Den neste figuren er boksplottet som viser antall bakterier per vann, samt spredning av data.
For å lage boksplottet skal du skrive kode i den chunk-en som starter på ```{r boksplott, eval=TRUE, echo=FALSE, fig.cap="..."}
.
Igjen, husk å ikke fjerne ```
!
Det argumentet fig.cap="..."
lar deg legge til figurteksten, altså den teksten som beskriver hva figuren handler om.
Trenger du hjelp med å skrive figurteksten, gå til denne bioST@TS-siden.
Diskusjonen er den siste delen i rapporten. Det er der du skal tolke resultatene i studien. Viser resultatene forskjell mellom vannene? Viser resultatene noe som var forventet eller rart? Finnes det en forklaring på det du ser i figurene? Skriv det her!
Trenger du hjelp med diskusjonen, gå til denne bioSKRIV-siden.
Når din rapport er ferdig, så er det bare å trykke på knappen Knit
.
Hvis alt er korrekt, så åpnes rapporten i et nytt vindu.
Les gjennom dette dokumentet.
Finner du noe feil, så kan du gå tilbake til malen og endre det.
Hvis det ligger noe feil i din kode, skal fanen R Markdown
(ved siden av Console
) vise feilmelding istedenfor å skrive ut rapporten. Les feilmeldingen, rett feilen(e), og trykk på Knit
igjen.
Liker du din rapport akkurat som den er, så trykker du på Open in Browser
øverst i vinduet.
Rapporten åpnes da i nettleseren din.
Trykk på CTRL + P
(⌘ + P
) for å skrive ut rapporten.
Du kan f. eks. skrive den ut i pdf-format.
Den er klar til innlevering med resten av din lab journal.
Gratulerer med din første rapport i R/RStudio!