wat-is-r-programmeertaal

Voor iedereen die zich afvraagt "Wat is R?" hebben we op deze pagina een heldere en volledige uitleg uitgewerkt. R is een open-source programmeertaal en omgeving, speciaal ontwikkeld voor statistische berekeningen en visualisaties. R biedt een divers spectrum aan statistische en grafische technieken. Het is bovendien gemakkelijk uitbreidbaar. Verder is R geoptimaliseerd voor vector- en matrix-operaties. Hierdoor zijn loops niet nodig en is R efficiënter en sneller dan andere talen, zoals Python. 

Het werd altijd al veel gebruikt door statistici, maar tegenwoordig ook meer en meer door data scientists. De taal is heel intuïtief en heeft een laagdrempelige leercurve. Lees hier de redenen waarom R een geschikte taal is voor data science.

In deze blog gaan wij je uitleggen wat deze taal precies inhoudt, hoe deze is ontstaan, wat er allemaal mee mogelijk is en hoe jij zo snel mogelijk aan de slag kan in R.

We zullen ingaan op de volgende onderdelen:

Ben je geïnteresseerd in R, maar heb je R, RStudio of beiden nog niet geïnstalleerd, volg dan eerst onze uitgebreide installatiehandleiding.

Wist je dat R een steeds belangrijke rol speelt in de wereld van Data Science? De belangrijke packages van Tidyverse, zoals ggplot2 en dplyr maken R een uitstekende taal om te gebruiken voor Data Science.

1. Geschiedenis van R

1.1 Spin-off van S

R kan worden gezien als ‘dialect op’ of ‘spin-off’ van een eerdere programmeertaal S. Om de oorsprong van R te kunnen begrijpen zullen we de geschiedenis van S kort toelichten.

S is een taal die is ontwikkeld door John Chambers bij Bell Telephone Laboratories, oorspronkelijk onderdeel van AT&T Corp. S werd in 1976 ingevoerd als een interne omgeving voor statistische analyse - geschreven in de programmeertaal Fortran. Het was echter puur een omgeving: vroege versies van de taal bevatten zelfs geen functies voor statistische modellering.

In 1988 werd het systeem herschreven in de programmeertaal C en uitgegeven als S versie 3.0. Hiermee begon het al meer te lijken op de huidige versies van R. Versie 4 van de S-taal werd uitgebracht in 1998 en S is hierna nooit meer verder geüpdate, het is de versie van S die vandaag de dag nog steeds wordt gebruikt. 

Sinds het begin van de jaren '90 heeft het leven van de S taal een nogal kronkelig pad afgelegd. Het was toentertijd nog geen open-source software en waren er dus licenties nodig. Bell Labs, de oorspronkelijke ontwikkelaar, heeft deze verkocht en via verschillende eigenaren in 2008 in de handen van het bedrijf TIBCO beland. Vanaf dat moment was TIBCO de eigenaar en exclusieve ontwikkelaar van de S taal.

1.2 De S Filosofie

De algemene S filosofie is belangrijk om te begrijpen voor gebruikers van S en R omdat het de basis vormt voor het ontwerp van de taal zelf, die zelfs veel ervaren programmeurs een beetje vreemd en verwarrend vinden. In het bijzonder is het belangrijk om te beseffen dat de S taal ontwikkeld is met oog op data analyse, en niet voortkwam uit een traditionele programmeer-achtergrond. De uitvinders waren erop gefocust uit te zoeken hoe ze data-analyse gemakkelijker konden maken, eerst voor zichzelf, en uiteindelijk ook voor anderen.

John Chambers, de oorspronkelijke ontwikkelaar van S, zei hierover:

"We wilden dat gebruikers konden beginnen in een interactieve omgeving, waarin ze zichzelf niet bewust als programmeur beschouwden. Naarmate hun behoeften duidelijker werden en hun kennis toenam, zouden ze geleidelijk moeten kunnen overgaan naar programmeren, waarbij de taal- en systeemaspecten belangrijker zouden worden."

Het belangrijkste was hier de overgang van gebruiker naar ontwikkelaar. Ze wilden een taal bouwen die gemakkelijk beide type gebruikers kon bedienen. Meer technisch gezien moesten ze een taal bouwen die zowel geschikt zou zijn voor interactieve data-analyse (meer command-line-gebaseerd) als voor het schrijven van langere programma's (meer traditioneel programmeertaal-achtig).

1.3 Van S naar R

Een belangrijke beperking van de S-taal was dat het alleen beschikbaar was in een commercieel (betaald) pakket. Als tegenreactie hierop ontwikkelden Ross Ihaka en Robert Gentleman in 1991 aan de faculteit van de Statistiek aan de Universiteit van Auckland een kopie van de programmeertaal S. Zij noemden dit R. Uiteindelijk werd R in 1993 voor het eerst openbaar gemaakt voor het publiek. Bovendien werd ervoor gekozen om R open-source (en dus gratis) software te maken. Dit was van cruciaal belang omdat het de broncode van het gehele R systeem toegankelijk maakte voor iedereen die eraan wilde sleutelen.

In 1997 werd de R Core Group (RCG) gevormd, met daarin enkele mensen die geassocieerd waren met S en S-PLUS. Tenslotte werd in 2000 R versie 1.0.0 vrijgegeven voor iedereen.

2. De populariteit van R

R kan worden gebruikt door veel verschillende soorten gebruikers: data scientists, data analytici en statistici. Maar R kan ook worden gebruikt door zakelijke gebruikers. R heeft een gemakkelijkere leercurve dan veel andere tools voor data-analyse, terwijl het toch een breed scala aan mogelijkheden heeft op het gebied van data science. Bovendien heeft R een enorm aantal mogelijkheden die niet enkel beperkt zijn tot analyse. De syntax van R is heel intuïtief en daardoor veel makkelijker te lezen, begrijpen en schrijven dan andere programmeertalen zoals C(++) en Java. De syntax is hierdoor ook heel compact en dit betekent dat een R script gemiddeld drie keer zo compact is als code in Java. Bovendien is R specifiek ontwikkeld voor het werken met grote hoeveelheden data. Het is hierdoor niet zo’n alleskunner als bijvoorbeeld Python, maar datgene wat je ermee kan gebeurt veel efficiënter en sneller dan in Python. 

R draait op bijna elk standaard computerplatform en besturingssysteem. Het open source-karakter betekent ten eerste dat de software gratis te downloaden is door iedereen. Maar ten tweede betekent dit ook dat iedereen vrij is om de software aan te passen aan elk platform van naar keuze. Zo hebben mensen R draaiend gekregen op moderne tablets, telefoons, PDA's en gameconsoles. Het open-source-karakter zorgt ook voor de frequente releases. Deze frequente releases en de regelmatige release cyclus duiden op een actieve ontwikkeling van de software en zorgen ervoor dat bugs snel worden verholpen. En hoewel de kernontwikkelaars de primaire broncode voor R beheren, leveren programmeurs vanuit de hele wereld bijdragen hieraan in de vorm van nieuwe functies, packages en bugfixes.

Een ander belangrijk voordeel dat R heeft ten opzichte van veel andere programmeertalen is de geavanceerde grafische mogelijkheden die het biedt. De mogelijkheid van R om grafieken van professionele kwaliteit te maken bestaat al sinds het prille begin en is over het algemeen beter dan die van concurrerende tools. Het ingebouwde grafische systeem van R laat een zeer fijne controle toe over bijna elk aspect van een plot of grafiek. Bovendien bestaan er extra packages, zoals lattice en ggplot2, die het creëren van complexe en gesofisticeerde visualisaties van hoog-dimensionale data mogelijk maken.

In veel opzichten is R succesvol omdat het een platform creëert waarmee veel mensen nieuwe dingen kunnen creëren. Duizenden mensen in de hele wereld zijn samengekomen om bijdragen te leveren aan R, om pakketten te ontwikkelen, en om elkaar te helpen R te gebruiken voor allerlei toepassingen.

3. Werken met R

Technisch gesproken is R een high-level, geïnterpreteerde, object-georiënteerde, interactieve programmeertaal. Dit betekent het volgende:

  • High-level: Hierdoor is R op elk besturingssysteem te gebruiken. Ook staat dit voor de gemakkelijke leesbaarheid en de bijna menselijke-taal vorm van code.
  • Geïnterpreteerd: Dit betekent dat een R script direct gebruikt kan worden, zonder dat het eerst in een andere taal geconverteerd hoeft te worden. Bij andere programmeertalen is dit soms wel het geval. Het voordeel hiervan voor R is dat elk stuk geschreven code snel te testen is, waardoor aanpassingen en toevoegingen binnen de code eenvoudig te valideren zijn. Sterker nog, RStudio maakt het mogelijk om R-code regel voor regel te laten uitvoeren. Later meer over RStudio.
  • Functioneel: Het is mogelijk om functies aan te maken. Deze zijn later weer aan te roepen en maken het constant kopiëren van code overbodig. Dit is enorm handig in R, aangezien je een functie maakt die je vervolgens talloze keren kunt hergebruiken.
  • Interactief: Vanuit de command prompt kun je direct met de zogeheten R ‘interpreter’ communiceren en de volledige functionaliteit gebruiken, zonder dat je een script hoeft te schrijven.

R is hier gratis te downloaden. Lees ook ons blog over R installeren. De makkelijkste (en leukste) manier om met R te werken is in RStudio. Dit is een IDE (Integrated Development Environment) die speciaal voor coderen in R is ontwikkeld. Deze is hierdoor precies op maat gemaakt van de mogelijkheden van R. Bovendien wordt er eigenlijk standaard gebruik gemaakt van RStudio en het is dus hartstikke handig als je handigheid krijgt hiermee. De installatie van RStudio wordt ook toegelicht in onze installatie-handleiding!

Wil je geen software installeren op je lokale computer, dan is er ook een cloud-oplossing. Je kunt via via RStudio Cloud toegang krijgen tot een cloud-versie van RStudio en R. Je moet hierbij een gratis account aanmaken, waarna je toegang krijgt tot 15 projecten en 15 uur programmeren per maand. Dit kan je upgraden tegen betaling, maar zeker voor beginners is dit ruim voldoende.

4. Word goed in R!

Stel je ziet de potentie van R en wilt hier zelf mee aan de slag. Waar en hoe moet je beginnen? Om beter te worden zul je meer ervaring moeten krijgen en een handigheid kweken. Er zijn natuurlijk veel informatiebronnen waar je terecht kan. Je kunt denken aan een literatuur (R for dummies), online R tutorials, onze blogposts over R (uiteraard een uitstekende optie) of onze tweedaagse R cursus. Er zijn dus tal van mogelijkheden.

Maar het belangrijkste is om het gewoon te doen. Doen doen doen! Ga zelf aan de slag! Zoek online naar projectjes die je aanspreken en begin gewoon! Door een duidelijk doel te hebben van wat je wilt ontwikkelen, loop je al snel tegen heel veel problemen aan die je nog niet op kunt lossen. Door dit stap voor stap uit te zoeken en dus op te lossen, zul je vanzelf beter worden en uiteindelijk een mooi project kunnen uitvoeren.

  1. Kies een eigen project wat je enthousiast maakt
  2. Hou de scope in het begin zo klein mogelijk, zodat je sneller een werkende versie hebt
  3. Verdiep je in de benodigde details voor je project
  4. Bouw je eerste eigen script, los fouten op en leer hiervan: veel antwoorden op je vragen zul je op https://stackoverflow.com/ en https://stackexchange.com kunnen vinden
  5. Lever je eerste project op zodat dit gebruikt kan worden
  6. Maak een nieuwe versie vanuit een grotere scope, of start een volgend uitdagend project

In onze R cursus hebben we al onze ervaring verwerkt zodat jij je in twee dagen verder ontwikkelt tot professionele data scientist.

Lees ook: Hoe maak ik een histogram in R?

R: Samengevat

De volgende vijf punten zijn de key take-aways van wat er is behandeld:

  1. R is een spin-off van de eerdere programmeertaal S
  2. De eerste versie van S is in 1976 door John Chambers ontwikkeld. Uiteindelijk werd in 1991 op basis van S versie 4 de open-source taal R ontwikkeld aan de Universiteit van Auckland door Ross Ihaka en Robert Gentleman.
  3. R groeit de laatste jaren enorm in populariteit vanwege zijn eenvoud en doelgerichte functies speciaal gemaakt voor data analyses. Bovendien is het gratis te downloaden en is het uit te breiden door de beschikbaarheid van veel extra packages.
  4. R code hoeft niet eerst naar een andere taal omgezet te worden en is direct te gebruiken. Het is functioneel en goed leesbaar.
  5. Begin je eerste project klein en bouw voort op de kennis die je opdoet. Werk samen met meer ervaren mensen om sneller te leren en mooiere applicaties te maken.

R is een gemakkelijk te begrijpen en snel te leren programmeertaal gemaakt voor data analyses en data science. Je kunt hier letterlijk alles wat te maken heeft met data science mee doen.

Wil jij goed leren werken in R? Tijdens onze Opleiding R leer je alles wat je nodig hebt om zelfstandig analyses uit te voeren in R.

by: