Dit is een site voor studenten van de Open Universiteit. Voordat je een vraag kunt stellen moet je even een account aanmaken (dit systeem is niet gekoppeld aan je OU studentnummer en wachtwoord).

Welkom bij het vraag- en antwoord systeem van de onderzoeks-practica van de studie psychologie bij de Open Universiteit.

Houd er, als je een vraag stelt, rekening mee dat je de richtlijnen volgt!

Hoe kan ik in LimeSurvey een vraag aanpassen aan het antwoord dat een deelnemer gaf op een eerdere vraag?

0 leuk 0 niet-leuks

Soms is het handig om een vraag aan te passen aan de hand van informatie die een deelnemers bij een eerdere vraag gaf. Stel je bijvoorbeeld de volgende vraag voor:

Welk middel gebruik je het meest?

  • Koffie
  • Alcohol
  • Tabak
  • Cannabis
  • Cocaine

Stel je voor dat de volgende vraag dan is:

Hoe vaak gebruik je {middel}?

Bij {middel} moet dan het betreffende middel worden ingevuld. Hoe doe ik dat in LimeSurvey?

gevraagd 2 januari 2013 in Online vragenlijsten door gjp (64,700 punten)

1 Antwoord

0 leuk 0 niet-leuks

Dit heet 'microtailoring' of 'piping'. Dit kan in LimeSurvey met de Expression Manager. De uitleg van de syntax van de Expression Manager staat op http://docs.limesurvey.org/Expression+Manager#Syntax, maar ik zal het hier even uitleggen voor dit specifieke geval. Stel dat de antwoordopties gewoon gecodeerd zijn met 1-5 (zie evt ook deze vraag over codes). Stel je verder voor dat de code van deze eerste vraag "favouriteSubstance" is. Je tweede vraag zou dan worden:

Hoe vaak gebruik je {if(
  favouriteSubstance == 1, 'koffie',
    if(favouriteSubstance == 2, 'alcohol',
      if(favouriteSubstance == 3, 'tabak',
        if(favouriteSubstance == 4, 'cannabis',
          if(favouriteSubstance == 5, 'cocaine',
            ''
          )
        )
      )
    )
  )}?

Het deel tussen de accolades is de expression. Deze begint met 'if', en 'if' is een functie die stelt: "evalueer de eerste parameter; als deze waar is, geef dan de eerste parameter, maar als hij niet waar is, geef dan de tweede parameter". Die eerste 'if' kijkt dus of mensen optie 1 hebben gekozen (koffie). Zoja, dan geeft hij de tekst 'koffie' terug; maar zonee, dan gaat hij naar de volgende 'if'. Die kijkt of mensen optie 2 hebben gekozen, etc. Pas wel goed op met je haakjes. Het kan handig zijn om hiervoor een editor zoals bijvoorbeeld Notepad++ te gebruiken (zie hier voor de gratis download van de portable versie; dit is een open source programma), want die telt automatisch de haakjes voor je zodat je kunt zien of ze kloppen.

Er is nog veel meer mogelijk met de Expression Manager, maar als je alleen wat tekst wil aanpassen aan de hand van een eerder antwoord, volstaat deze aanpak.

beantwoord 2 januari 2013 door gjp (64,700 punten)
bewerkt 10 juli 2013 door gjp
...