(bijna) 40 jaar R  – Hype of succes verhaal ?

In IRlogoT kringen is de programmeertaal  C en zijn varianten al jaren een begrip. Wat weinig mensen weten is dat in de jaren 70 in hetzelfde Bell labs een andere programmeertaal het levenslicht zag. Deze taal was niet bedoeld als all-purpose programmeertaal maar eerder als interactieve toolkit voor statistische data-analyse,  met nadrukkelijke aandacht voor grafische visualisatie naast een groot aantal specifiek ontworpen en gedocumenteerde functies voor statistische verwerking. In  hoofdzaak ontwikkeld door John Chambers en S gedoopt kan deze taal gezien worden als een voorloper van R. Om precies te zijn, Chambers situeert de eerste gesprekken over S in mei 1976, zodat we nog ruim een jaar de tijd hebben voor de voorbereiding van 40 jaar R.

New S en S PLUS

De huidige versie van R is in grote lijnen gebaseerd op een gewijzigde versie van S die eind de jaren tachtig ingevoerd is. Belangrijke keuzes waren het gebruik van C in de plaats van FORTRAN als onderliggende taal, een consistent gebruik van functies  en een meer  uitgebreid object-georiënteerd model.

Begin de jaren  90 wordt S-PLUS gecommercialiseerd als statistische data analyse tool. Versies voor de belangrijke platformen worden ontwikkeld en de statistische toolkit werd sterk uitgebreid, in lijn met ontwikkelingen in het domein. De strategische keuze om een gratis studentenversie te lanceren (2002) zal zeker bijdragen tot de bekendheid van het systeem onder statistici.

En daar is R …

In 1993 komt een nieuwe groep rond John Chambers (Ross Ihaka en R Gentleman) met een open source versie van de new S programmeertaal. Verschillen tussen deze implementatie en de S-PLUS implementatie zijn beperkt zodat gebruikers van de ene gemakkelijk met de andere van start kunnen. Qua filosofie is er echter een wereld van verschil omdat R een GNU project is.  Dit betekent dat de code open source is  en dus vrij beschikbaar voor gebruikers om ze uit te breiden en te verbeteren. Bovendien zijn er geen beperkingen om R te verdelen onder het grote publiek. Deze filosofie is heel erg aangeslagen in de academische wereld waar het gebruikelijk is dat nieuwe ontwikkelingen gedeeld en gepubliceerd worden.  Heel  veel packages zijn het resultaat van wetenschappelijk onderzoek waar naast het publiceren van de theoretische resultaten nu ook de methoden meer en meer gepubliceerd worden als bijproduct.  Men kan terecht spreken van een community, waar een deel van de gebruikers actief betrokken zijn bij het verder ontwikkelen  en documenteren van het project. Tegelijk worden bijeenkomsten georganiseerd voor gebruikers, en zijn er ontzettend veel initiatieven om het gebruik van R te verbeteren via mailing lijsten en cursussen, zoals bijvoorbeeld Quick-R en  het recente belgische initiatief Datacamp.

Hoewel  het ontwikkelen van R packages zich vooral afspeelt in linux omgevingen en met C code zijn er versies voor alle operating systemen en in het bijzonder voor windows. In combinatie met  R  zijn er bovendien een aantal grafische omgevingen voor handen die gebruikersvriendelijker zijn dan de standaard console, zoals bijvoorbeeld de veel gebruikte RStudio die beschikbaar is in gratis standalone en server versies maar ook in betalende professionele versies met support. OpenAnalytics is een belgisch bedrijf dat onder meer een freeware server platform aanbiedt (Architect) en systemen die toelaten R verwerking te integreren in de business of labo-workflow (R service bus).

Van het labo naar het bedrijf

Ondertussen hebben meerdere generaties enthousiaste studenten hun weg gevonden naar bedrijven en instellingen. Zo is R beetje bij beetje geïntroduceerd in verschillende sectoren, waarvan de biomedische en financiële vooralsnog het meest prominent zijn.

ggplotdensityHet feit dat R in een handomdraai gedownload en geïnstalleerd kan worden laat toe dat R gemakkelijk kan ingezet worden. Hoewel de focus van R nog altijd interactieve data-analyse is, worden de grafische mogelijkheden van R ook erg geapprecieerd. Door de ontwikkelingen in een aantal wetenschappelijke disciplines zoals de bio-informatica worden steeds zwaardere eisen gesteld aan de verwerkingscapaciteiten van het R systeem. R volgt dus de ontwikkelingen qua high performance computing op de voet, en heeft ondertussen ook alle functionaliteiten die nodig zijn voor data management.

 

Dit alles maakt R natuurlijk ook bijzonder interessant voor big data analytics.

Of toch een beetje gehyped ?

Voor vele R gebruikers van het eerste uur is het feit dat R gehyped zou zijn een nogal vreemd idee. Immers, zij gebruiken en ontwikkelen als specialisten een tool die precies  gericht is op de problemen waar zij mee bezig zijn. De hype ontstaat dus als het grote publiek, dat niet noodzakelijk ervaring heeft met data-analyse, voorgespiegeld wordt dat met deze nieuwe tool een hele resem aan complexe problemen kunnen opgelost worden, zonder dat je daarvoor specialist hoeft te zijn.

Het feit dat nu meer gebruikersvriendelijke visuele omgevingen beschikbaar zijn verhult enigszins dat werken in R traditioneel neerkomt op code schrijven. Het feit dat een functie of voorbeeldscript bestaat voor wat je wil doen betekent nog niet dat je deze meteen op je data aan de praat krijgt. Uiteraard is documentatie beschikbaar maar deze kan al eens cryptisch zijn en is niet geschreven voor een groot publiek. Bovendien lijkt het moeilijk de gebruiker volledig af te schermen van technische aspecten van de installatie en object-georiënteerde modellen … en zit er vaak nog een grote performantie winst in het programmeren  van C subroutines voor bepaalde intensieve deeltaken.

De steile leercurve kan natuurlijk altijd verzacht worden door het gebruik van visuele omgevingen (zo bijvoorbeeld RStudio’s Shiny voor het ontwikkelen van web applicaties)  en het voorzien van de nodige omkadering voor support en coaching. De eindgebruiker zal dan ongetwijfeld ervaren dat investeren in R snel vruchten afwerpt (en hierbij wordt al eens vergeten dat het vertrouwd raken met software zoals Excel ook veel tijd gekost heeft).

Besluit

Op zijn bijna 40ste is R springlevend en heeft het zeker zijn plaats verdiend naast de grote commerciële oplossingen voor statistiek en analytics. Men kan terecht spreken van een lingua franca programmeertaal voor data-analyse en statistical learning. Door het open source karakter zijn er geen beperkingen op de verspreiding van R maar de inzetbaarheid van R voor het grote publiek hangt af van het soort gebruik. De kracht van R en het voordeel van de packages zit vooral in het gevorderd gebruik maar mits de nodige coaching en omkadering kunnen minder gevorderde eindgebruikers ook  met R aan de slag. In dat geval moeten  bedrijven en instellingen rekening houden met kosten voor training en kunnen beschikken over specialisten die het systeem kunnen opzetten en onderhouden. In 2006 vermeldde John Chambers nog de integratie van R in andere systemen als één van de grote uitdagingen voor de toekomst. Ondertussen zien we R meer en meer opduiken als component in de geïntegreerde systemen voor analytics die vendors aanbieden.

Leave a Reply

Your email address will not be published.