Programmeren in R
Introductie
Welkom bij de module Programmeren in R! Deze module vormt samen met de module Bioinformatica de cursus IBIP2V.
De module Programmeren in R bestaat uit 8 lessen, waarvan de laatste les (les 8) een vragenuur is. De inhoud van de lessen kun je bereiken via het menu aan de linkerkant. Het doel van de module is om reproduceerbaar data te verwerken. De cursus bouwt dan ook verder op de lesstof van de cursus Dataverwerking (DAVE1V).
Voordat je begint, eerst een kleine waarschuwing: het leren van R kost tijd en je zult merken dat het vooral in het begin moeilijk kan zijn. Het is belangrijk dat je voldoende tijd inplant om aan het lesmateriaal te werken. Dit zal, zeker in het begin, betekenen dat je zo’n 2 uur per les aan voorbereidingstijd kwijt bent. Als je genoeg tijd besteedt aan deze module en alle opdrachten serieus maakt, ben je zeker in staat om de toets met een voldoende af te sluiten. Ga dus aan de slag en geef vooral niet op!
Hieronder tref je een aantal belangrijke opmerkingen aan over de module en de afsluitende toets. Lees deze goed door, voordat je begint aan het lesmateriaal.
We wensen je veel succes en we hopen dat je veel plezier zult hebben van R!
Leeruitkomsten
Aan het einde van deze cursus kan je de programmeertaal R gebruiken om op een reproduceerbare manier data te analyseren en resultaten te communiceren. Deze algemene leeruitkomst kan opgesplitst worden in de volgende leeruitkomsten:
De student kan reproduceerbaar werken in R:
- De student kan werken in een R project.
- De student kan code verwerken in een R script en dit van informatieve comments voorzien.
- De student kan R packages gebruiken voor het verwerken van data.
- De student kan pipes (
|>) toepassen in de R code om de code leesbaarder te maken. - De student kan de in R uitgevoerde data analyse uitwerken in een RMarkdown bestand.
De student kan data inlezen in R:
- De student kent de verschillende data structuren in R (vectors, lists en dataframes/tibbles).
- De student kan verschillende bestandstypen (RDS, TSV, CSV, Excel) inlezen in R.
De student kan data inspecteren met R:
- De student kan herkennen of een dataset tidy is.
- De student kan een dataset tidy maken.
- De student kan testen of een verdachte waarde een uitschieter is met de Dixon’s Q test.
- De student kan algemene eigenschappen (bijvoorbeeld het aantal rijen en kolommen, en de kolomnamen) van de data achterhalen met R.
- De student kan bepalen welke categoriën een categorische variabele bevat en hoeveel waarnemingen per categorie er zijn met de
distinctencountfuncties.
De student kan data bewerken met R:
- De student kan rijen selecteren op basis van een of meerdere variabelen met de
filterfunctie. - De student kan een nieuwe variabele (kolom) toevoegen aan een tibble met de
mutatefunctie. - De student kan twee datasets samenvoegen met de
left_joinfunctie.
De student kan resultaten bepalen met R:
- De student kan per experimentele conditie het gemiddelde, de standaarddeviatie en andere beschrijvende statistieken bepalen met de
group_byensummarizefuncties. - De student kan een lineair regressiemodel opstellen in R.
De student kan resultaten communiceren met R:
- De student kan verschillende grafieken (scatter plots, histogrammen, staafdiagrammen en boxplots) maken met het
ggplot2package. - De student kan
ggplot2grafieken voorzien van een duidelijke titel en informatieve aslabels. - De student kan variabelen omzetten naar een factor om aan te geven dat het een categorische variabele is.
- De student kan foutbalken aan een grafiek toevoegen.
- De student kan een regressielijn aan een scatter plot toevoegen.
- De student kan de volgorde van categoriën op de x-as in een boxplot of staafdiagram aanpassen.
- De student kan grafieken in een RMarkdown bestand voorzien van een bijschrift.
- De student kan uitkomsten inline rapporteren in een RMarkdown bestand.
- De student kan tabellen weergeven in de html output van een RMarkdown bestand.
- De student kan de output van de code chunks in een RMarkdown bestand aanpassen.
Opzet van de lessen
Deze module bestaat uit 7 lessen en 1 vragenuur. Voor alle lessen geldt dat je je thuis moet voorbereiden. Hiervoor tref je bij elke les in deze reader een kopje voorbereiding aan. De voorbereiding bestaat uit het zelfstandig doornemen van de theorie en het maken van opgaven m.b.v. R.
De lessen zelf bestaan uit een korte voorbespreking (waarin ook ruimte is om vragen te stellen over de voorbereiding), een casus die je individueel gaat maken en een nabespreking1. In de casussen die in de lessen worden gemaakt komen alle leerdoelen van de cursus terug. De casussen zijn dan ook een belangrijke voorbereiding voor de toets. De casussen moeten in de les worden afgemaakt en tijdens de nabespreking moet je je bevindingen uit kunnen leggen aan je klasgenoten en de docent.
Cursusmaterialen
Voor deze module maken we gebruik van deze reader. In de reader vind je alle theorie en opdrachten voor deze cursus. We maken in deze cursus geen gebruik van een boek. Wel is het zo dat we voor het maken van deze reader gebruik hebben gemaakt van materiaal uit het boek R for Data Science. Als je meer wilt leren over R is dit een uitsteken boek om mee te beginnen. Voor de cursus ‘Programmeren in R’ beperken we ons echter tot dat wat in deze reader besproken wordt.
Server
Tijdens de lessen maken we gebruik van een server. Je hoeft R en RStudio daarom voor de cursus niet te installeren op je laptop. We raden het wel aan om dit tijdens de cursus te doen (zie hiervoor ook de installatie-instructies in de appendix van deze reader), zodat je na deze cursus kunt blijven werken met R.
De server is te bereiken via de volgende link:
Je kunt op de server inloggen met je HU inloggegevens.
Mocht je niet in kunnen loggen op de server, of mochten er andere problemen zijn met de server, neem dan contact op met Bas van Gestel (bas.vangestel@hu.nl).
LET OP: er worden geen backups gemaakt van je werk op de server. Hiervoor ben je dus zelf verantwoordelijk! Je kunt files exporteren/downloaden via de ‘Export’ optie in het Files window:

Toetsing
De module ‘Programmeren in R’ wordt afgesloten met een toets. Deze toets bestaat uit verschillende dataverwerkingsvraagstukken die je op moet lossen met R. Tijdens het examen mag je alleen gebruik maken van deze reader en van de ingebouwde documentatie in RStudio. Andere bronnen zijn niet toegestaan. De cesuur voor deze toets ligt op 55 % (exclusief correctie voor gokkans).
Je behaalt de studiepunten voor IBIP2V als je voor de toets ‘Programmeren in R’ en de toets ‘Bioinformatica’ een voldoende hebt gehaald.
Participatiebonus
In deze module kun je een participatiebonus verdienen als je aanwezig bent tijdens de werkcolleges én tijdens de werkcolleges actief werkt aan de casus. Tijdens de werkcolleges is het gebruik van je telefoon niet toegestaan.
Om de participatiebonus te verdienen mag je maximaal 2 van de 8 werkcolleges missen als gevolg van overmacht (bijv. ziekte, doktersafspraken of storingen in het OV). Indien je door overmacht niet aanwezig kunt zijn, meld je dit vóór aanvang van de les bij je docent.
Als je de participatiebonus verdient, resulteert dit in 1,0 extra punt voor het eindcijfer. Het eindcijfer zonder participatiebonus is dus maximaal een 9,0. De participatiebonus zal blijven gelden voor een eventuele herkansingen.
Jouw docent registreert je participatie tijdens de werkcolleges via Canvas. Je kunt via Canvas zelf bijhouden of je in aanmerking komt voor de participatiebonus.
De eerste les (les 1) is anders ingedeeld, omdat er tijdens deze les ook nog nieuwe theorie wordt behandeld. De casus is in deze les daarom kleiner.↩︎