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

  • behandle ekte data,
  • utføre enkle statistiske beregninger,
  • lage en tabell,
  • tegne en plot,
  • sette alt sammen til en fullstending rapport.

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

1 Om R/RStudio

1.1 Litt om R

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.

1.2 Et alternativt grensesnitt

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.

1.3 Hvorfor jobber vi i R/RStudio?

Det finnes mange fordeler med å ta R/RStudio i bruk:

  • Først og fremst er R fri og open-source, og kan installeres den på de fleste maskinene (Windows, Mac, Linux, osv).
  • R kan utføre veldig enkle numeriske oppgaver (for eksempel kan R brukes som en helt vanlig kalkulator og regne ut 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).
  • R er i konstant utvikling; det kan nedlastes utvidelser (som kalles for “R-pakker” eller “R-packages”) som utvider funksjonalitetene.
  • R brukes av mange i akademia, og spesielt i biologi. Dermed finnes det garantert noen i nærheten av deg som kan hjelpe til når du er i trøbbel.
  • Fordi R brukes av mange i hele verden og i mange discipliner, finnes det et stort sammfunn online som kan hjelpe deg (det forumet Stack Overflow er godt kjent blant R-brukere)

1.4 R/RStudio i biologiemner

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.

1.5 Få hjelp med R/RStudio

Det finnes mange steder der du kan finne hjelp og informasjon om R/RStudio:

  • vår nettside bioST@TS har en dedikert seksjon hvor du skal lære mye om både R/RStudio og statistikk.
  • de oraklene på biORAKEL er kjent med R/RStudio og tilbyr deg hjelp når du trenger det.
  • codeRclub er et møtested for de som lærer eller jobber med R/RStudio. Alle er velkommen og kan søke hjelp hos oss. Vi møtes på fredager fra kl.14:00 til 16:00 på Tunet (4. etasje på biologen, bygg A, Thormøhlensgate 53A, UiB) og på Zoom (ta kontakt med Richard Telford for å få lenken). Kom på besøk om du er i trøbbel eller lurer på noe.
  • på nettet finner du mange fora der du får løsning på problemene dine. Ofte er det “bare” å google. Mange spørsmål stilles på Stack Overflow, og mange gode svar finnes der òg.

2 Kom i gang med øvelsen

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.

2.1 Installer R og 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).

2.2 Last ned filene

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.

2.3 Første steg i RStudio

Mest av tiden kommer du til å starte R/RStudio ved å åpne et prosjekt. Et prosjekt består av en mappe som inneholder en .Rproj-fil og eventuelt andre filer (data filer, skript, osv). I denne øvelsen heter filen 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):
_Skjermdump av RStudio sitt grensesnitt._

Figure 2.1: Skjermdump av RStudio sitt grensesnitt.

Øverst i vinduet finner du hovedmenyen med mange funksjoner:

_Skjermdump av hovedmenyen i RStudio._

Figure 2.2: Skjermdump av hovedmenyen i RStudio.

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:

  • et stort område til venstre der man finner fanene Console, Terminal og Jobs,
  • et mindre område opp til høyre med de fanene Environment, History, Connections and Tutorial,
  • et siste område ned til høyre med de fanene 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).

2.3.1 Skript

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

_Opprettelse av et nytt skript._

Figure 2.3: Opprettelse av et nytt skript.

I dette skriptet kan du skrive kode. Når du ønsker å utføre kode, så trykker du på Run (se Figur 2.4).
_Utfør koden med knappen_ Run.

Figure 2.4: Utfør koden med knappen Run.

2.3.2 Console

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 i skriptet utføres i konsolen_

Figure 2.5: Koden i skriptet utføres i konsolen

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

2.3.3 Files

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.

_Den fanen_ Files _er filutforskeren i RStudio._

Figure 2.6: Den fanen Files er filutforskeren i RStudio.

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

Hvis du ønsker å importere filer i prosjektmappen, så klikker du på More > Show Folder in New Window i menyen til Files (se Figur 2.7). Et nytt vindu åpnes som lar deg velge filene som skal importeres.
_Skjermdump av menyen i fanen_ Files.

Figure 2.7: Skjermdump av menyen i fanen Files.

2.3.4 Installere R-pakker via konsolen

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, shinyand 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(c("tidyverse", "learnr", "shiny", "rmarkdown"))

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:

library(tidyverse)
library(learnr)
library(shiny)
library(rmarkdown)

2.3.5 Kort om skript og 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:

mean(1:10)

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.

Konsolen viser resultatet av koden i skriptet.
_Koden i skriptet utføres i konsolen._

Figure 2.8: Koden i skriptet utføres i konsolen.

2.3.6 Unngå å skrive kode i 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.

3 Lær å kode med appen

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

_Start appen ved å trykke på_ Run.

Figure 3.1: Start appen ved å trykke på Run.

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.

_Start appen ved å trykke på_ Run document.

Figure 3.2: Start appen ved å trykke på Run document.

Appen dukker opp i et separat vindu. Klikk på `Open in Browser for å vise appen i nettleseren din.

Appen ser sånn ut:
_Skjermdump av appen._

Figure 3.3: Skjermdump av appen.

Den appen inneholder flere interaktive vinduer der du kan prøve koden selv, redigere og utføre den. Slike vinduer ser sånn ut:

_Et interaktivt vindu i appen_

Figure 3.4: Et interaktivt vindu i appen

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.

4 Kjør ø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:

_Skjermdump av malen til rapporten._

Figure 4.1: Skjermdump av malen til rapporten.

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.

_Knappen_ Knit _skriver ut rapporten._

Figure 4.2: Knappen Knit skriver ut rapporten.

Hvis du trykker allerede nå på Knit, så får du dette dokumentet:

_Skjermdump av rapporten produsert av knitr._

Figure 4.3: Skjermdump av rapporten produsert av knitr.

4.1 Gjennomgang

Her skal vi se steg for steg hvordan du skal fylle ut malen.

4.1.1 Topptekst

Øverst i malen finner du et området som både starter og slutter på --- (se Figur 4.4). Dette er toppteksten. Den skal vise titlen, forfattere og dato øverst i rapporten.
_Her skal du redigere toppteksten._

Figure 4.4: Her skal du redigere toppteksten.

Legg til titlen, forfatternavn og datoen mellom " ". Husk å ikke fjerne " ". Den siste linjen med output: html_document må du la stå uendret.

4.1.2 Setup

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:

_Eksempel på en code chunk_

Figure 4.5: Eksempel på en code chunk

Den heter “setup” (```{r setup, include=FALSE}). Målet med den er å aktivere tidyverse og importere datafilene.

4.1.2.1 Tidyverse

I appen har du lært å bruke library() for å aktivere R-pakker.
Skriv koden som aktiverer tidyverse.

4.1.2.2 Datasett

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!

4.1.3 Introduksjon

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.

4.1.4 Metode

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.

4.1.5 Resultat

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.

4.1.5.1 Tabell

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!

4.1.5.2 Boksplott

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.

4.1.6 Diskusjon

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.

4.2 Skriv ut rapporten

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!