Wat is programmeren in R?
De programmeertaal R is een open source scripttaal voor voorspellende analyses en gegevensvisualisatie.
De eerste versie van R werd in 1995 uitgebracht om academische statistici en anderen met geavanceerde programmeervaardigheden in staat te stellen complexe statistische gegevensanalyses uit te voeren en de resultaten weer te geven in een veelheid van visuele grafieken. De naam 'R' is afgeleid van de eerste letter van de namen van de twee ontwikkelaars, Ross Ihaka en Robert Gentleman, die destijds verbonden waren aan de Universiteit van Auckland.
De programmeertaal R bevat functies voor lineaire modellering, niet-lineaire modellering, klassieke statistiek, classificatie, clustering en meer. Het is populair gebleven in academische omgevingen vanwege zijn robuuste functies en het feit dat het gratis te downloaden is in broncodevorm onder de voorwaarden van de GNU (General Public License) van de Free Software Foundation. Het compileert en draait op UNIX-platforms en andere systemen zoals Linux, Windows en MacOS.
De aantrekkingskracht van de R-taal heeft zich geleidelijk van de academische wereld naar het bedrijfsleven verspreid, aangezien veel gegevensanalisten die op de universiteit met R zijn opgeleid, deze liever blijven gebruiken dan een nieuw hulpmiddel op te pakken waarmee zij geen ervaring hebben.
De R-softwareomgeving
De programmeeromgeving van de R-taal is opgebouwd rond een standaard opdrachtregelinterface. Gebruikers gebruiken deze om gegevens te lezen en naar de werkruimte te laden, opdrachten te geven en resultaten te ontvangen. Opdrachten kunnen gaan van eenvoudige wiskundige operatoren, zoals +, -, * en /, tot meer ingewikkelde functies die lineaire regressies en andere geavanceerde berekeningen uitvoeren.
Gebruikers kunnen ook hun eigen functies schrijven. De omgeving stelt gebruikers in staat afzonderlijke bewerkingen, zoals het samenvoegen van afzonderlijke gegevensbestanden tot één document, het uittrekken van één variabele en het uitvoeren van een regressie op de resulterende gegevensreeks, te combineren tot één functie die steeds opnieuw kan worden gebruikt.
Lus-functies zijn ook populair in de R-programmeeromgeving. Met deze functies kunnen gebruikers een bepaalde actie herhaaldelijk uitvoeren, zoals het trekken van steekproeven uit een grotere dataset, zo vaak als de gebruiker wil opgeven.
Voor- en nadelen van programmeertaal R
Veel gebruikers van de programmeertaal R vinden het prettig dat de taal gratis te downloaden is, geavanceerde mogelijkheden voor gegevensanalyse biedt en een actieve gemeenschap van gebruikers online heeft waar ze terecht kunnen voor ondersteuning. Omdat de taal al vele jaren bestaat en gedurende haar hele bestaan populair is geweest, is zij tamelijk volwassen.
Gebruikers kunnen uitbreidingspakketten downloaden die de basisfunctionaliteit van de taal verbeteren. Met deze pakketten kunnen gebruikers gegevens visualiseren, verbinding maken met externe databanken, gegevens geografisch in kaart brengen en geavanceerde statistische functies uitvoeren. Er is ook een populaire gebruikersinterface, RStudio genaamd, die het coderen in de R-taal vereenvoudigt.
De R-taal is bekritiseerd voor het leveren van trage analyses bij toepassing op grote datasets. Dat komt omdat de taal gebruik maakt van single-threaded processing, wat betekent dat de basis open source versie slechts één CPU tegelijk kan gebruiken. Ter vergelijking: moderne big data analytics gedijt op parallelle gegevensverwerking, waarbij tientallen CPU's op een cluster van servers tegelijkertijd worden gebruikt om grote gegevensvolumes snel te verwerken.
Naast de beperkingen van de verwerking via één thread, is de R-programmeeromgeving een in-memory applicatie. Alle gegevensobjecten worden tijdens een bepaalde sessie opgeslagen in het RAM van een machine. Dit kan de hoeveelheid gegevens beperken waarmee R tegelijk kan werken.
R en big data
Deze beperkingen hebben de toepasbaarheid van de taal R in big data-toepassingen beperkt. In plaats van R in productie te gebruiken, gebruiken veel zakelijke gebruikers R als verkennings- en onderzoekstool. Datawetenschappers gebruiken R om ingewikkelde analyses uit te voeren op voorbeeldgegevens en zetten vervolgens, nadat ze een zinvolle correlatie of cluster in de gegevens hebben gevonden, de bevinding in productie met behulp van tools op bedrijfsschaal.
Verschillende softwareleveranciers hebben ondersteuning voor de programmeertaal R aan hun aanbod toegevoegd, waardoor R een steviger voet aan de grond krijgt in de moderne big data-wereld. Leveranciers zoals IBM, Microsoft, Oracle, SAS Institute, TIBCO en Tableau bieden een zekere mate van integratie tussen hun analysesoftware en de R-taal. Er zijn ook R-pakketten voor populaire open source big data-platforms, waaronder Hadoop en Spark.
Wat maakt R uniek?
R is uniek omdat het niet algemeen toepasbaar is. Het sluit geen compromissen door te proberen veel dingen te doen. Het kan een paar dingen heel goed, vooral statistische analyse en datavisualisatie. Hoewel u bibliotheken voor gegevensanalyse en machinaal leren kunt vinden voor talen als Python, heeft R veel statistische functies in zijn kern ingebouwd. Er zijn geen bibliotheken van derden nodig voor veel van de kerngegevensanalyse wat u met de taal kunt doen.
Maar zelfs in dit specifieke geval wordt R gebruikt in elke denkbare bedrijfstak, omdat een modern bedrijf draait op gegevens. Met behulp van gegevens uit het verleden kunnen gegevenswetenschappers en gegevensanalisten de gezondheid van een bedrijf bepalen en bedrijfsleiders bruikbare inzichten geven in de toekomst van hun bedrijf.
Waar wordt R voor gebruikt?
Het feit dat R specifiek wordt gebruikt voor statistische analyse en gegevensvisualisatie betekent niet dat het gebruik ervan beperkt is. Integendeel, het is een veelgebruikte programmeertaal. Academici, wetenschappers en onderzoekers gebruiken het om de resultaten van experimenten te analyseren. Daarnaast gebruiken bedrijven van elke omvang en in elke bedrijfstak het om inzichten te halen uit de toenemende hoeveelheid gegevens die zij dagelijks genereren.
Fintech
Fintech-bedrijven zijn bedrijven die zich bezighouden met financiële diensten. R wordt bij veel van dit soort bedrijven gebruikt, omdat geld en statistiek hand in hand gaan. Banken gebruiken de R-programmeertaal om kredietrisicomodellen te maken en andere soorten risicoanalyses uit te voeren. Het wordt ook gebruikt voor fraudedetectie, hypotheekmodellering, volatiliteitsmodellering, klantbeoordeling en stresstestsimulaties voor leningen.
Onderzoek
De programmeertaal R wordt veel gebruikt in de academische wereld en het onderzoek. Cornell University onderwijst bijvoorbeeld R in cursussen die statistische berekeningen vereisen. De Universiteit van Californië leert studenten statistiek en gegevensanalyse door hen kennis te laten maken met R, en vele andere universiteiten doen dit ook.
Detailhandel
In de detailhandel en e-commerce wordt R gebruikt voor risicobeoordeling en om marketingstrategieën op te stellen. De mogelijkheden van R voor machinaal leren worden bijvoorbeeld gebruikt om cross-selling te verbeteren en beter gerelateerde producten voor te stellen bij de kassa om de winst en de verkoop te verhogen. R wordt ook gebruikt voor verkoopmodellering en gerichte reclame in de detailhandel. Zowel Amazon als Flipkart gebruiken de programmeertaal R voor gegevensanalyse.
Overheid
De National Weather Service gebruikt de programmeertaal R om rampen te voorspellen en het weer te voorspellen. Zij gebruiken ook de visualisatiefuncties van R om beelden van weersvoorspellingen te maken. Daarnaast gebruikt de FDA R om geneesmiddelen te evalueren, preklinische tests uit te voeren en mogelijke reacties te voorspellen die worden veroorzaakt door de voedingsproducten die zij beoordelen.
Gegevensjournalistiek
Datajournalisten gebruiken gegevens om een verhaal te vertellen. Het zijn journalisten en datawetenschappers die inzichten over onze wereld en hoe we leven halen uit openbare gegevens. Dit kan informatie zijn van lokale overheden en politiebronnen om een verhaal te vertellen over criminaliteit, financiële gegevens om de toestand van de economie van een land te tonen of elk ander type gegevens dat een interessant patroon onthult in hoe onze wereld werkt. R is een populaire taal voor datajournalisten omdat het hen de mogelijkheid biedt deze inzichten te vinden en verbluffende grafieken te genereren die het verhaal vertellen.
Social media
Social media is altijd al een gegevens-intensieve industrie geweest. We worden overal gevolgd waar we online gaan. Elke actie wordt opgeslagen in één of andere database, wachtend op een analist om er inzichten uit te halen. De enige winstbron van de meeste sociale mediasites zijn de gegevens over hun gebruikers en gerichte reclame. De programmeertaal R wordt gebruikt voor het analyseren van sociale media, het segmenteren van potentiële klanten en het richten van advertenties.
Gezondheidszorg
R wordt veel gebruikt in genetica, bio-informatica, geneesmiddelenonderzoek en epidemiologie. Bij de ontdekking van geneesmiddelen wordt R bijvoorbeeld gebruikt om de gegevens van preklinische proeven te analyseren en te bepalen hoe veilig een geneesmiddel is. In de epidemiologie wordt het gebruikt om te voorspellen hoe een ziekte zich in een pandemie zal verspreiden.
Productie
Veel bedrijven gebruiken de programmeertaal R om feedback van klanten te analyseren en zo hun producten te verbeteren. Ford Motor Company gebruikt R om het consumentenvertrouwen over zijn voertuigen te analyseren en het ontwerp ervan te verbeteren. John Deere gebruikt R om te bepalen hoeveel onderdelen en producten ze moeten produceren op basis van gewasopbrengst en andere gegevens.