Hoofdstuk 2 Software

2.1 jamovi

Het jamovi-project is opgericht om een gratis en open statistisch platform te ontwikkelen dat intuïtief te gebruiken is en de nieuwste ontwikkelingen op het gebied van statistische methodologie kan bieden. De kern van de jamovi-filosofie is dat wetenschappelijke software “gemeenschapsgestuurd” moet zijn, zodat iedereen analyses kan ontwikkelen en publiceren, en deze beschikbaar kan maken voor een breed publiek. Het is beschikbaar voor Windows, macOS, Linux en ChromeOS via https://jamovi.org.

Installeren van jamovi.

Figure 2.1: Installeren van jamovi.

Een handige functie van jamovi is dat wanneer u een project opslaat, het de gegevens, analyses en uitvoer in hetzelfde bestand opslaat. Dit maakt samenwerking en begeleiding veel eenvoudiger. Een andere eigenschap is dat, in overeenstemming met de jamovi-filosofie, iedereen modules kan bijdragen. Dit betekent dat gebruikers extra functionaliteit kunnen installeren vanuit de jamovi-bibliotheek. Het betekent ook dat jamovi in de loop van de tijd zal blijven groeien.

Als u zojuist jamovi hebt geïnstalleerd en geopend, zult u iets zien dat lijkt op wat wordt weergegeven in Figuur 2.1. Dit boek gaat vergezeld van een jamovi-module die enkele van de analyses bevat waarnaar we verwijzen, evenals de datasets die we hebben opgesomd in hoofdstuk 3.

2.1.1 Installeren van jamovi modules

Om een nieuwe module in jamovi te installeren, klikt u op de knop met de blauwe “plus” met het label “Modules” in de rechterbovenhoek. Hierdoor wordt het menu geopend dat wordt weergegeven in Figuur 2.2.

Het modules menu in jamovi.

Figure 2.2: Het modules menu in jamovi.

De jamovi library.

Figure 2.3: De jamovi library.

Selecteer in dit menu “jamovi-bibliotheek”, waarmee de jamovi-bibliotheek wordt geopend met een overzicht van alle beschikbare modules, zoals weergegeven in Figuur 2.3. Scroll naar beneden naar de “rosetta”-module, die “Parallel Use of Statistical Packages in Teaching” wordt genoemd en klik op de overeenkomstige “Installeren”-knop om de installatie te starten. Zodra de module is geïnstalleerd, verschijnt deze in de menubalk zoals weergegeven in Figuur 2.4.

De jamovi library.

Figure 2.4: De jamovi library.

Door de “rosetta”-module te installeren, worden de voorbeelddatasets die in dit boek worden gebruikt, beschikbaar. Hoofdstuk 4 legt uit hoe deze datasets (of andere datasets) in jamovi geladen kunnen worden.

2.2 R

R is een zeer krachtig hulpmiddel voor statistische analyses. Omdat het gemakkelijk uitbreidbaar is via pakketten, is het uitgegroeid tot een tool die u met vrijwel alles kan helpen: er zijn pakketten voor analyse op meerdere niveaus, het modelleren van structurele vergelijkingen, maar ook voor het visualiseren van geografische kaarten, het weergeven van driedimensionale objecten, het uitvoeren van tekst mining, werken met big data, directe interactie met databases, geavanceerde datavisualisatie, kwalitatieve analyse, en ga zo maar door.

R kan worden gedownload vanaf https://cloud.r-project.org/. Wanneer u R downloadt, krijgt u allen het statistische pakket zelf. Er zijn veel manieren om het werken met R prettiger en efficiënter te maken, zoals het populaire RStudio.

2.2.1 R Studio

Een populaire omgeving is RStudio. RStudio kan worden gedownload van https://rstudio.com/products/rstudio/ (kies RStudio Desktop). Zie Figuur 2.5 voor een illustratie van hoe RStudio er uitziet.

Voorbeeld RStudio.

Figure 2.5: Voorbeeld RStudio.

RStudio is een interface die vier deelvensters met tabbladen gebruikt om interacties met R te vergemakkelijken. Het deelvenster linksboven bevat het analysescript of meerdere scripts waaraan u werkt. Het paneel linksonder bevat de R-console. Het paneel rechtsboven bevat een overzicht van alle datasets en andere objecten die u hebt geladen, evenals een geschiedenis van de opdrachten die u aan R hebt verstrekt. Ten slotte biedt het paneel rechtsonder eenvoudig toegang tot een overzicht van alle bestanden in uw project, de plots die je hebt gemaakt, de R-pakketten die je hebt geïnstalleerd en geladen, en de online handleiding van R en je pakketten.

2.2.2 Packages

R wordt geleverd met veel basisfuncties, ook wel Base R genoemd. Onderzoekers maken georganiseerde verzamelingen van R-functies, ook wel pakketten genoemd, om het gebruik van verschillende statistische methodologieën en analyses te vergemakkelijken. Deze pakketten zijn gratis en leveren bruikbare output op voor gebruikers. Iedereen kan een R-pakket maken. Het is gebruikelijk om de pakketten die u gebruikt te citeren in het verwijzingsgedeelte van uw onderzoek.

Pakketten bevinden zich doorgaans op twee plaatsen: het Comprehensive R Archive Network, afgekort CRAN, dat enige kwaliteitscontrole op pakketten uitvoert. Standaard kijkt R alleen in de CRAN-repositories wanneer u hem vertelt een pakket te installeren. Veel pakketontwikkelaars bieden ook pakketten aan in Git-opslagplaatsen. Deze zijn vaak minder gepolijst dan CRAN-pakketten, maar ook meer cutting edge. Hieronder leggen we uit hoe u “niet-CRAN-pakketten” installeert (zie Paragraaf 2.2.2.2).

Een pakket dat u misschien wilt installeren als u dit boek gebruikt, is het rosetta-pakket. We hebben dit gemaakt om parallel gebruik van en overgang tussen verschillende statistische pakketten te vergemakkelijken. Het bevat een aantal functies die zijn ontworpen om zich op dezelfde manier te gedragen als hun tegenhangers in andere softwarepakketten. Dit betekent dat we ernaar streven om vergelijkbare namen te gebruiken voor de functies en argumenten, vergelijkbare standaardinstellingen en vergelijkbare uitvoer. We zullen dit pakket als voorbeeld gebruiken in de volgende secties.

2.2.2.1 Installeren van CRAN packages

Om een pakket te installeren, kunt u de volgende code gebruiken:

install.packages('rosetta');

Vervang “rosetta” door de naam van het pakket dat u wilt installeren. De naam van het pakket is hoofdlettergevoelig en moet tussen aanhalingstekens staan. Zodra het pakket is geïnstalleerd, hoeft u het nooit meer te installeren (hoewel u mogelijk wordt gevraagd om het bij te werken ).

Als u RStudio gebruikt, kunt u ook pakketten installeren met behulp van het tabblad Pakketten in het rechteronderdeelvenster van RStudio door op “Pakketten” en “Installeren” te klikken en de naam in te voeren van het pakket dat u wilt installeren (zie Figuur 2.6).

How to install package using the RStudio GUI.

Figure 2.6: How to install package using the RStudio GUI.

2.2.2.2 Installeren van niet-CRAN packages

Als je een pakket wilt installeren dat niet op CRAN staat, of een nieuwere versie van een pakket dan de versie op CRAN, kun je pakketten rechtstreeks vanuit Git repositories installeren. Dit vereist het pakket remotes. Eenmaal geïnstalleerd, kunt u de functies remotes::install_gitlab() en remotes::install_github() gebruiken om pakketten te installeren vanuit repositories die worden gehost door respectievelijk GitLab en GitHub.

Om dit te doen, zoek eerst de URL naar de repository (deze heeft meestal de vorm van “https: // gitlab.com / xxx / yyy” of “https: // github.com / xxx / yyy”), en onthoud het deel achter de domeinnaam (dus “xxx/yyy”). Geef dit als argument door aan de functie remotes::install_gitlab() of remotes::install_github().

Om bijvoorbeeld de huidige ontwikkelversie van rosetta te installeren (die meer mogelijkheden heeft maar meer fouten kan bevatten), gebruik je de volgende twee commando’s (je kunt de eerste overslaan als je hetremotes pakket al geïnstalleerd hebt):

install.packages('remotes');
remotes::install_gitlab('r-packages/rosetta');

2.2.2.3 Functies gebruiken van packages

Zodra een pakket (package) is geïnstalleerd, kunt u alle functies in het pakket uitvoeren door de functienaam vooraf te laten gaan met pakket::. Als u bijvoorbeeld het pakket rosetta hebt geïnstalleerd, kunt u alle functies in het Rosetta-boek uitvoeren door te beginnen met rosetta::. Merk op dat als een functieaanroep begint met somethingelse::, je het pakket somethingelse moet installeren. Geavanceerde datavisualisaties vereisen bijvoorbeeld het pakket ggplot2 en functies van ggplot beginnen allemaal met ggplot2::. Het rosetta pakket gebruikt ook het ggplot2 pakket op de achtergrond, dus je hoeft dat niet apart te installeren.

Als u een functie probeert te gebruiken maar u vergeet R te vertellen uit welk pakket het de functie moet halen, kan R u een foutmelding geven. Dit gebeurd niet altijd omdat sommige functies vanuit base R (het basis pakket) al beschikbaar zijn (bijv. nrow() voor het bepalen van het aantal rijen in een dataset.).

2.2.2.4 Het laden van packages in het geheugen

Soms wil je R vertellen dat hij altijd naar objecten (zoals functies) in een bepaald pakket moet zoeken. In dat geval kunt u het pakket tijdens uw sessie aan het “zoekpad” van R koppelen. U kunt zich voorstellen als het “laden” van het pakket. Hoewel u een pakket maar één keer hoeft te installeren, moet u die opdracht elke keer dat u een nieuwe R-sessie opent, als u het wilt laden, herhalen.

U kunt een pakket laden (d.w.z. het aan het zoekpad van R koppelen) met dit commando:

library("rosetta")

Als u RStudio gebruikt om met R te werken, kunt u pakketten laden door het tabblad ‘Packages’ in het rechteronderdeelvenster te openen en op het pakket te klikken dat u wilt laden (zie Figuur 2.7). Als het pakket niet in uw lijst met pakketten voorkomt, is dat omdat het niet is geïnstalleerd (zie Paragraaf 2.7).

Een package laden met RStudio.

Figure 2.7: Een package laden met RStudio.

Merk op dat het loont om er een gewoonte van te maken om altijd expliciet de pakketnaam te specificeren met behulp van de :: operator. Omdat R geen unieke functienamen afdwingt tussen pakketten, hebben veel pakketten functies met dezelfde namen (zoals recode () in de Hmisc,car en rosetta pakketten enfilter in beide basis R en dplyr). Als u meerdere pakketten laadt en een dergelijke functie gebruikt, is het niet altijd intuïtief welke versie van een functie u “krijgt”.

Hierdoor is foutopsporing veel efficiënter als u expliciet de pakketten specificeert samen met de functies in elke functieaanroep. Aangezien wanneer men met R (of andere statistische pakketten) werkt, de meeste tijd niet wordt besteed aan het schrijven van code, maar aan het debuggen (i.e., fouten oplossen) van code, loont dit snel, ondanks de lichte inefficiëntie van het altijd moeten typen van de pakketnamen.

Een tweede reden om de pakketten expliciet te specificeren bij het aanroepen van functies, is dat het R-code draagbaarder maakt. Als u vertrouwt op geladen pakketten en u fragmenten van R-code naar een ander script kopieert, zal de code fouten genereren totdat u eraan denkt om die functies ook bovenaan uw code te laden. Identificeren welke pakketten u moet laden om een codefragment te kunnen uitvoeren, is onmogelijk, tenzij u toevallig uit uw hoofd weet welke functies uit welke pakketten komen.

Een derde nauw verwante reden is dat het expliciet specificeren van pakketten in functieaanroepen uw code gemakkelijker leesbaar maakt voor anderen. Ze hoeven niet op en neer te scrollen om te proberen te achterhalen welke functies u precies gebruikt.

Ten slotte is een vierde reden van toepassing op meer gevorderde gebruikers: als u R-pakketten ontwikkelt, is het ook een goede gewoonte om functies altijd aan te roepen met de operator ::. Daarom is het het beste om dit vanaf het begin te automatiseren.

Als u bovenaan uw code wilt controleren of er een pakket bestaat, is er een functie genaamd [checkPkgs ()] (https://r-packages.gitlab.io/ufs/reference/checkPkgs.html ) in het ufs-pakket.

2.2.3 Drie benaderingen in R

In R zijn er grofweg drie benaderingen. Veel analyses kunnen worden gedaan met base R zonder extra pakketten te installeren. Het rosetta-pakket vergezelt dit boek en heeft tot doel een output te leveren die vergelijkbaar is met die van jamovi en SPSS met eenvoudige commando’s. Ten slotte is de tidyverse een populaire verzameling pakketten die consistent proberen samen te werken, maar een andere onderliggende logica implementeren die op R (en dus het rosetta-pakket) gebaseerd is.

2.3 SPSS

SPSS (https://www.ibm.com/analytics/spss-statistics-software) is populaire data-analysesoftware die eigendom is van IBM. SPSS biedt zowel een GUI (graphical user interface), dat wil zeggen het werken via de menustructuur, als een syntaxisoptie voor analyse, hoewel mensen SPSS voornamelijk gebruiken vanwege de eenvoud van de GUI. SPSS wordt geleverd met een vast aantal analytische opties in de GUI en deze kunnen niet door gebruikers worden gewijzigd. Deze tutorial gebruikt SPSS versie 26.
In dit boek beperken we ons tot de syntax van SPSS. Voor wie met de menustructuur wil werken, zijn er op internet veel tutorials te vinden over alle in dit boek gebruikte analyses.

2.3.1 De actieve dataset

In SPSS wordt elke dataset in een apart venster geopend. Er kan slechts één dataset tegelijk worden gebruikt. De gebruiker moet dus handmatig schakelen tussen datasets.

Bij gebruik van de GUI kan een dataset worden geactiveerd door op het bijbehorende venster te klikken. Daarom is het belangrijk om ervoor te zorgen dat u werkt in de dataset die u wilt gebruiken.

Gebruik het commando DATASET ACTIVATE gevolgd door de naam van de dataset om aan te geven welke dataset geactiveerd moet worden met SPSS Syntax. Om bijvoorbeeld een dataset met de naam dat te activeren, kan men gebruik maken van de syntax:

DATASET ACTIVATE dat.

Merk op dat wanneer u slechts één dataset heeft geopend, deze dataset altijd actief is en u deze dus niet hoeft te activeren.