• Adrian Ariese

R versus Python in data-science land

Waarom zou je voor een specifieke taal zoals R of Python kiezen? Met die vraag kun je op een gemiddeld feestje zorgen voor verhitte discussies....als er tenminste een hoog IT-gehalte aanwezig is.

Voorop gesteld dat je in het data-werkveld zit dan herken je de discussie en heb je er wellicht een mening over.

Binnen DAAT gebruiken we beide talen maar hebben er veel verschillende gedachtengangen bij. Een weloverwogen keuze ligt in de driehoek: klant - oplossing - toepassing. Wie zich voor het eerst verdiept in de wereld van complexe data analyses kan overweldigd worden door de verschillende programmeertalen waar je in kunt werken. Als data-scientist zijn er echter twee opensource talen die altijd met elkaar in het data-werkveld in verband worden gebracht: R en Python.

Dus wat zijn de voordelen van R of Python en andersom? En zijn er nog andere overeenkomsten? Ben jij klaar voor analysemogelijkheden die verder gaan dan Excel of SQL? Dan helpen R en Python je. Maar welke?


Die keuze tussen R en Python als primaire programmeertaal ga ik hieronder toelichten.





Wat is Python?


Python is een general-purpose programmeertaal. Het heeft geen specifiek doel en is voor alles binnen data-science inzetbaar. Wanneer iemand kan programmeren in Python is de baangarantie significant vergroot. Dat is ook de reden dat we binnen ons DAATLAB-programma dit hoofdzakelijk gebruiken . Python is een bredere taal dan R en is bovendien toonaangevend in de data-science wereld. Er zijn wat minder analysemogelijkheden dan in R, maar daarentegen kun je met Python beter analyses op grote schaal (big data) uitvoeren of binnen bredere applicaties of websites. Daarnaast is Python aan een indrukwekkende opmars bezig op het gebied van kunstmatige intelligentie/ machine learning.


Wat is R?


R is een programmeertaal met als doel om statisch te modelleren. R wordt voornamelijk gebruikt door academici en onderzoekers en de laatste jaren ook meer door bedrijven. Heeft dus een zeer gedegen basis en er zijn goede mogelijkheden binnen R voor het rapporteren en visualiseren van uitkomsten. De broncode van R is vrij toegankelijk o.b.v. open source. en geschikt voor Windows, Mac en Linux. R wordt bediend via een opdrachtregelinterface en er zijn verschillende grafische interfaces beschikbaar. Vanuit DAAT zien we dat veel gemeenten R gebruiken o.a. in het WMO Voorspelmodel. De verwachting is dat dit vanuit VNG vaker gebruikt gaat worden binnen gemeenten. R kent uitgebreide mogelijkheden om grafieken en afbeeldingen te creëren en is standaard in staat gecompliceerde lineaire algebra berekeningen uit te voeren.





Wat zijn de overeenkomsten?

Om te beginnen met de belangrijkste: Als DAAT gebruiken we beide talen en beiden zijn -in de basis- geschikt voor data-analyses.


Maar er zijn meer gelijkenissen:

  • Zowel Python en R zijn gratis beschikbaar (open source dus) en worden doorontwikkeld door een community.

  • R en Python kennen allebei een actieve community waarin je terecht kunt met vragen en waarin voortdurend nieuwe stappen worden gezet om de toepassingen van de talen verder door te ontwikkelen.

  • Beide talen ontwikkelen zich steeds verder richting een breder toepassingsgebied in bijvoorbeeld sectoren als de overheid, industrie en de zorg.

  • In beide programmeertalen kun je (bijna) alles. Maar er zijn nuances.

  • Als developer zijn beide talen gewild (krapteberoep) en dus als functie gelijk gewaardeerd. Ken je de ene taal dan leer je ook eenvoudig(er) de andere programmeertaal.


Maar wellicht belangrijker; Wat zijn de verschillen?


Op de verschillen immers ga je jouw keuzes maken. Dus hieronder de voornaamste verschillen:

  • Python is meer gericht op big-data. AI en machine learning ligt logisch gezien in dat verlengde.

  • R blinkt uit op data-analyse en heeft een betere en uitgebreidere visualisatie.

  • R is een stuk lastiger om te leren. Dus wil je eenvoudig en intuitief starten: Python

  • Ben je een ontwikkelaar of programmeur? Python integreert eenvoudiger in websites, omgevingen en applicaties.

  • Doe je aan statische analyses en ben je researchmatig of academisch ingesteld? R is analytischer en beter visualiserend.

  • Python code is echter eenvoudiger en robuuster. Onderhoud is daardoor eenvoudiger.


Conclusie


Als DAAT hebben we geen echte voorkeur. Dat zou eigenlijk niemand moeten hebben omdat het altijd situationeel is. Dus daar ligt je vertrekpunt voor een keuze. Heb je al een taal dan sluiten jullie en wij daarop aan. Dan houd je de benodigde kennis op niveau, kosten laag en voorkom je issues binnen je platform. Eenvoudig beginnen? Dan is mijn advies Python. Het is een eenvoudigere, intuïtieve en een logische taal. En ben je verliefd op Python? Blijf er dan bij. Python stelt niet vaak teleur.

Kom je vanuit de onderzoekswereld zit je in gemeente-land en wil je starten met data-analyse en visualisaties.....R. Wel wat moeilijker maar eenmaal onder de knie dan kun je er op eerdere genoemde vlakken meer mee.


Het blijft dus een persoonlijke voorkeur. Gelukkig zijn er alleen geen echt foute keuzes.


 

Over DAAT:

Onze missie is het optimaliseren van de informatievoorziening van organisaties zodat deze kunnen excelleren in hun vakgebied. Dit doen wij door het kwalitatief verzamelen, structureren en visualiseren van data. Wij staan voor hoge maatschappelijke betrokkenheid, mede door het opleiden en inzetten van mensen met een afstand tot de arbeidsmarkt.


Over Adrian Ariese

Digitaal de innovatie binnen een organisatie of sector opzoeken en dit vertalen naar concrete digitale oplossingen daar ligt Adrian's passie....als digitale gangmaker bij DAAT en DAATLAB.

64 weergaven0 opmerkingen

Recente blogposts

Alles weergeven