Hoofdstuk 7 Variabelen samenvoegen

7.1 Intro

Een veel voorkomende taak is het samenvoegen van meerdere variabelen (kolommen in een dataset) tot één nieuwe variabele (kolom). U wilt bijvoorbeeld de gemiddelde score op de items van een vragenlijst berekenen.

7.1.1 Voorbeeld data

In dit voorbeeld wordt de Rosetta voorbeelddataset “pp15” gebruikt (zie hoofdstuk @ref (datasets) voor informatie over de datasets en hoofdstuk @ref (loading-data) voor uitleg over het laden van datasets).

Van deze dataset gebruikt dit voorbeeld variabelen ``.

We zullen deze aggregeren in de variabele highDose_attitude (merk op dat deze variabele al in de dataset bestaat, en dat de bestaande variabele ook het gemiddelde is van die vijf variabelen).

7.2 jamovi

Klik op het tabblad “Data” op de knop “Compute” Typ de nieuwe variabelenaam in het tekstveld bovenaan, met het label “COMPUTED VARIABLE”. Klik vervolgens op de functieknop, gemarkeerd met \(f_x\), selecteer de MEAN-functie in het vak “Functies” en dubbelklik op alle variabelen waarvan u het gemiddelde wilt in het vak “Variabelen” (rechterkolom), terwijl u een komma typt tussen elke variabele naam. Als alternatief kunt u de functienaam en de lijst met variabelen rechtstreeks typen zonder het dialoogvenster functie (\(f_x\)) te gebruiken.

Als u ontbrekende waarden wilt toestaan, kunt u het ignore_missing = 1 argument specificeren. In dat geval typ je:

MEAN(highDose_AttGeneral_good, highDose_AttGeneral_prettig,
     highDose_AttGeneral_slim, highDose_AttGeneral_gezond,
     highDose_AttGeneral_spannend, ignore_missing=1)

Het is nog niet mogelijk om aan te geven hoeveel geldige waarden vereist zijn; ofwel zijn er helemaal geen missings toegestaan, ofwel wordt een willekeurig aantal ontbrekende waarden geaccepteerd.

7.3 R

7.3.1 R: base R

dat$highdose_attitude <-
  rowMeans(
    dat[,
      c(
        'highDose_AttGeneral_good',
        'highDose_AttGeneral_prettig',
        'highDose_AttGeneral_slim',
        'highDose_AttGeneral_gezond',
        'highDose_AttGeneral_spannend'
      )
    ]
  );

7.3.2 R: Rosetta

dat$highdose_attitude <-
  rosetta::means(
    data = dat,
    'highDose_AttGeneral_good',
    'highDose_AttGeneral_prettig',
    'highDose_AttGeneral_slim',
    'highDose_AttGeneral_gezond',
    'highDose_AttGeneral_spannend'
  );

Om aan te geven dat een bepaald aantal waarden geldig moet zijn (d.w.z. “niet ontbreekt”), kan het argument “requiredValidValues” worden doorgegeven. Om bijvoorbeeld vier geldige waarden te vereisen (in plaats van slechts één geldige waarde, de standaardwaarde), gebruikt u:

dat$highdose_attitude <-
  rosetta::means(
    data = dat,
    'highDose_AttGeneral_good',
    'highDose_AttGeneral_prettig',
    'highDose_AttGeneral_slim',
    'highDose_AttGeneral_gezond',
    'highDose_AttGeneral_spannend',
    requiredValidValues = 4
  );

7.4 SPSS

COMPUTE highdose_attitude =
  MEAN(
    highDose_AttGeneral_good,
    highDose_AttGeneral_prettig,
    highDose_AttGeneral_slim,
    highDose_AttGeneral_gezond,
    highDose_AttGeneral_spannend
  ).

Om aan te geven dat een bepaald aantal waarden geldig moet zijn (d.w.z. “niet-ontbrekend”), kan het commando “MEAN” worden toegevoegd met een punt en het aantal vereiste geldige waarden. Gebruik bijvoorbeeld om vier geldige waarden te vereisen:

COMPUTE highdose_attitude =
  MEAN.4(
    highDose_AttGeneral_good,
    highDose_AttGeneral_prettig,
    highDose_AttGeneral_slim,
    highDose_AttGeneral_gezond,
    highDose_AttGeneral_spannend
  ).