Cursus
Meer dan een jaar geleden lanceerden we DataCamp Workspace, onze cloudgebaseerde notebook-IDE, ontworpen om professionals en teams naadloos met data te laten werken en online samen te laten werken. Inmiddels gebruiken duizenden individuen en teams Workspace om data te analyseren en hun inzichten te delen, portfolio-projecten te bouwen en mee te doen aan competities.
Onlangs migreerden we onze RStudio-werkruimtes naar DataCamp’s Notebook Editor of JupyterLab. Dit betekent dat R-gebruikers kunnen profiteren van de nieuwste Workspace-functies, waaronder delen, samenwerken, reageren, native SQL-integratie en meer. In deze blogpost bespreken we de belangrijkste functies van JupyterLab, hoe het verschilt van RStudio en hoe R-gebruikers het beste uit de DataCamp Notebook Editor kunnen halen.

JupyterLab: een notebookinterface van de volgende generatie
JupyterLab is een webgebaseerde interactieve ontwikkelomgeving voor R- en Python-notebooks, naast andere programmeertalen. Specifiek ontworpen voor data science- en machine learning-workflows, bestaat de rijke interface uit een notebook, terminal, teksteditor en bestandsbrowser. Dankzij het modulaire ontwerp kan de open-sourcegemeenschap extensies bouwen om de functionaliteit van JupyterLab uit te breiden. In JupyterLab verschijnt de output van elke cel zodra die wordt uitgevoerd. Net als in een R Markdown-notebook kun je codeblokken afwisselen met markdown-aantekeningen.

Een overzicht van de JupyterLab-interface op DataCamp Workspace
JupyterLab ≈ RStudio
Zowel JupyterLab als RStudio zijn populaire Integrated Development Environments (IDE) voor de R-taal. Op enkele subtiele verschillen na zijn ze qua functie en gevoel sterk vergelijkbaar. RStudio bevat onder andere een bestandsbeheerder, terminal, een variabeleverkenner en zelfs een hulppaneel voor functies. Hiermee kunnen programmeurs eenvoudig toegang krijgen tot verschillende bestanden en instellingen, wat analyseren sneller en makkelijker maakt. Veel van deze functies vind je ook in JupyterLab. In deze sectie lichten we de hoofdcomponenten van de JupyterLab-interface uit.
De zijbalk
De linkerzijbalk bevat vijf pictogrammen:
- Een bestandsbrowser, waar je verschillende bestanden kunt openen
- Actieve terminals en kernels, waar je draaiende processen ziet
- Git, waar je repositories kunt beheren
- Inhoudsopgave, waar je snel door notebook-structuren kunt bladeren
- Extensiebeheer, waar je notebookextensies kunt downloaden
Overzicht van de bestandsbeheerder
Actieve terminals en kernels

Overzicht van de inhoudsopgave

Overzicht van het extensiebeheer
Het hoofdwerkgebied
In het hoofdwerkgebied schrijf je code, voer je shell-opdrachten uit en bewerk je markdown-documentatie. Net als in RStudio kun je de lay-out naar wens aanpassen. Je kunt focussen op één paneel of in meerdere panelen tegelijk werken.

De aanpasbare interface van JupyterLab
Bovenste menubalk
Net als in RStudio bevat de bovenste menubalk een reeks menu’s en linten waarmee je het volgende kunt doen:
- File om onder andere notebooks te openen, op te slaan en te downloaden
- Edit om celinhoud te bewerken (zoals ongedaan maken, opnieuw, verwijderen en cel splitsen)
- View om de beschikbare panelen in JupyterLab aan te passen
- Run om codeblokken in Jupyter-notebooks uit te voeren
- Kernel om een kernel te onderbreken of te stoppen (hier komen we later op terug)
- Git voor beheer van repositories en versiebeheer
- Tab om tussen de tabbladen in JupyterLab te navigeren.
- Settings geeft je de flexibiliteit om het uiterlijk van JupyterLab aan te passen.
- Help bevat meer informatie over JupyterLab.

Bovenste menubalk in JupyterLab
De rekenkern van JupyterLab: de kernel
Een veelgebruikte term bij het werken met Jupyter is “kernel”. Een kernel is een proces dat code uitvoert en interageert met Jupyter-toepassingen zoals JupyterLab. Je kunt het zien als de motor die de code in een Jupyter-notebook draait. De kernel blijft actief, ook als het notebookdocument, de codeconsole of de terminal is gesloten. Dit betekent dat je langdurige acties kunt uitvoeren (en eventueel het notebookdocument sluiten) en later kunt terugkeren.
Om alle momenteel actieve kernels te bekijken, ga je naar het tabblad “Running Terminals and Kernels”. Hier kun je het notebook dat aan een kernel is gekoppeld opnieuw openen.

De zijbalk met actieve terminals en kernels
Er zijn een paar kernelgerelateerde acties beschikbaar, waaronder
- Een kernel onderbreken: hiermee stop je de uitvoering van de code in het notebook, maar blijven de variabelen behouden.
- Een kernel afsluiten: hiermee onderbreek je de kernel en wis je alle bestaande states en variabelen van het notebook.
- Een kernel herstarten: hiermee sluit je de huidige kernel af en start je een nieuwe.

De kernel-menubalk
Aan de slag met JupyterLab
Laten we stap voor stap een nieuw notebook maken en een analyse uitvoeren met JupyterLab. Je kunt meekijken met deze instructies door een nieuwe dataset of template te openen via DataCamp Workspace.
Een document maken
Je kunt een nieuw notebook in JupyterLab maken via het menu File > New > Notebook. Dit lijkt sterk op RStudio. Je kunt ook op de blauwe + linksboven klikken om nieuwe bestanden te openen.

Een nieuw bestand openen in JupyterLab
Code schrijven en uitvoeren
Een JupyterLab-notebook bestaat uit meerdere blokken, die elk markdown of code kunnen bevatten. Een codeblok in JupyterLab lijkt op een chunk in RNotebook.
Om een blok te maken, kun je op de knop + bovenaan de console klikken. Je voert een codeblok uit met de knop ▶ (of Cmd+Enter voor Macbook-gebruikers, of Control+Enter voor Windows-gebruikers). Net als in RStudio wordt de output onder het codeblok weergegeven na uitvoering. Let op dat elk codeblok in één keer wordt uitgevoerd, vergelijkbaar met de functie ‘run current chunk’ in RStudio.
In RStudio kun je elke regel apart uitvoeren (Run > Run Selected Lines). In JupyterLab kan dat niet op dezelfde manier. Om twee regels afzonderlijk uit te voeren, moeten JupyterLab-gebruikers de regels scheiden in aparte codeblokken met de functie cel splitsen (Edit > Split Cell).

Een codecel uitvoeren in JupyterLab
Bestanden beheren
Net als RStudio heeft JupyterLab een bestandsbeheerinterface waarmee je door bestanden en mappen kunt navigeren. Je kunt bestanden maken, hernoemen, verplaatsen en dupliceren.

Bestandsbeheer in JupyterLab
Code annoteren met Markdown
Aantekeningen zijn onmisbaar in een leesbaar notebook. In zowel Jupyter Notebook als RStudio kun je context bij je code geven met markdown-segmenten.
Om markdown te gebruiken, maak je een nieuw codeblok en zet je dit om naar een Markdown-blok. Vervolgens kun je met markdown-syntax je tekst opmaken.

Markdown gebruiken in JupyterLab
Dit is iets anders dan in RNotebook, waar je geen apart blok voor markdown hoeft te maken. Bij het knitten wordt het notebook omgezet naar een HTML-document, waarin code en markdown netjes worden weergegeven.
Een notebook opslaan en publiceren
Opslaan in JupyterLab werkt vergelijkbaar met RStudio: beide slaan het notebook automatisch op met een standaardinterval.
JupyterLab laat je Jupyter-notebookbestanden (.ipynb) exporteren naar andere formaten, waaronder HTML, LaTeX, Markdown en PDF. Ga hiervoor naar File > Save and Export Notebook As… > Je gewenste uitvoerformaat.

Een notebook opslaan en exporteren
Dit zal RStudio-gebruikers waarschijnlijk niet verbazen. Bij het previewen van een RNotebook-bestand slaat RStudio automatisch een HTML-pagina op in het formaat .nb.html.
Een terminal en codeconsole openen
De terminal is de interface voor het uitvoeren van shell-opdrachten. Die is handig wanneer je afwisselend R-code en shell-opdrachten interactief wilt draaien. In JupyterLab ga je naar File > New > Terminal. Dit kan nieuw zijn voor RStudio-gebruikers, waar het Terminal-paneel standaard zichtbaar is.
Een terminal openen in JupyterLab
Thema’s aanpassen
JupyterLab wordt geleverd met een standaard donker thema (Settings > Theme > Dark). Je kunt ook niet-standaard thema’s installeren via de Extensiebeheerder.

JupyterLab Dark Theme
JupyterLab vs RStudio
JupyterLab en RStudio zijn vergelijkbaar maar niet identiek. Hier lichten we twee verschillen uit.
- Licenties: Het Jupyter-project is uitgebracht onder de gewijzigde BSD-licentie. RStudio daarentegen valt onder de Affero General Public Licenses.
- Functies: Sommige Markdown-functies worden niet direct ondersteund in Jupyter-notebooks, waaronder YAML-headers voor het instellen van het thema, het configureren van de inhoudsopgave en geavanceerde instellingen voor de codeweergave
Voorbij JupyterLab en RStudio: de DataCamp Notebook Editor
Hoewel JupyterLab tal van handige functies biedt bij het werken met data, wilden we zowel Python- als R-datapractitioners extra voordelen geven bij het werken met DataCamp Workspace. Daarom hebben we onze eigen DataCamp Notebook Editor uitgebracht.
De DataCamp Notebook Editor is gebouwd bovenop Jupyter Notebooks en maakt het voor teams makkelijk om code te schrijven, data te analyseren en inzichten te delen. Het ondersteunt R, Python en SQL. Hier is een overzicht van de belangrijkste functies van de DataCamp Notebook Editor.

De DataCamp Notebook Editor
Eenvoudige samenwerking
Bestaande tools laten data scientists niet altijd dezelfde code tegelijk bewerken. Er ontstaat een bottleneck wanneer data scientists notebookbestanden onderling gaan doorsturen. DataCamp Workspace pakt dat direct aan. Het is Google Docs voor notebooks – meerdere gebruikers kunnen op elk moment aan hetzelfde notebook werken.
Het notebook kan gepubliceerd worden en de link kan met je teamgenoten gedeeld worden. Een notebook in de cloud doorgeven is beter dan een offline notebook doorgeven, dat op de ene lokale omgeving misschien werkt en op de andere niet.

Samenwerken in DataCamp Workspace
Native SQL-ondersteuning
Een handige functie in DataCamp Workspace is de native SQL-ondersteuning. Je kunt een beveiligde verbinding opzetten vanuit je DataCamp Notebook Editor naar een database, zoals PostgreSQL, MySQL en Redshift. Data die uit de gekoppelde database is gehaald, kan vervolgens geanalyseerd worden met R of Python.

SQL in Workspace
Geen setup nodig
DataCamp Workspace en alle functies vereisen geen installatie. Het is on-demand, direct binnen handbereik, altijd. Of je nu JupyterLab of de DataCamp Notebook Editor gebruikt, je opent Workspace in een webbrowser en je notebookomgeving staat binnen enkele seconden klaar. Omdat Workspace in de cloud draait, hoef je geen extra software te downloaden of te installeren. Ter vergelijking: JupyterLab correct in de browser installeren is berucht lastig, vooral voor beginnende gebruikers.
Ga aan de slag met DataCamp Workspace
We hopen dat je dit overzicht nuttig vond om je R-workflows in DataCamp Workspace te versterken. Terwijl we bestaande functies blijven verbeteren en nieuwe functies bouwen, laat ons vooral weten hoe we de best mogelijke notebookomgeving voor dataprofessionals kunnen creëren.
Klaar om te beginnen? Ga aan de slag met DataCamp Workspace.
Filip is de gepassioneerde ontwikkelaar achter een aantal van DataCamp's populairste cursussen in Python, SQL en R. Momenteel leidt Filip de ontwikkeling van DataLab, DataCamp's AI-aangedreven datanotebook. Filip heeft diploma's in elektrotechniek en kunstmatige intelligentie.

