Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Fragegruppen auf Basis von Alter und Geschlecht auswählen und randomisieren

  • EmmaTheresa
  • EmmaTheresa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 hours 37 minutes ago #270842 by EmmaTheresa
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: LimeSurvey Community Edition Version 6.15.2+250628
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud

Genutzte Designvorlage: vanilla
==================

Hallo zusammen,

ich versuche derzeit für eine Studie einen Fragebogen zu erstellen, wobei ich eine Kombination aus Bedingungen und Randomisierung von Fragegruppen einstellen möchte. Leider funktioniert es bisher nicht. Folgendes ist das Ziel: 
Ich habe Age und Gender als Filterfragen/Bedingungen. Gender ist 0 (weiblich) und 1 (männlich), Alter ist als Dropdown-Liste von 18 bis 75 angezeigt.
Anschließend gibt es vier Fragegruppen, ich nenne sie jetzt beispielhaft Hund, Katze, Maus, Pferd. Welche Fragegruppe welcher Person angezeigt werden soll, ist teilweise vom Alter und Geschlecht abhängig. Bei einigen Alters- und Geschlechtsangaben soll immer eine bestimmte Fragegruppe ausgegeben werden - wenn mehrere Fragegruppen passen, soll jeweils eine davon randomisiert angezeigt werden. Im Folgenden ist aufgelistet, welche Fragegruppen zu welcher Person bzw. zu welchem Age und Gender passen:
  • Gender == 0 AND >=18 Jahre soll nur Hund angezeigt werden.
  • Gender == 0 AND >=35 Jahre soll randomisiert entweder Hund oder Katze angezeigt werden.
  • Gender == 0 AND >=50 Jahre soll randomisiert eine der Gruppen Hund, Katze, Maus oder Pferd angezeigt werden.
  • Gender == 1 AND >=35 Jahre soll nur Katze angezeigt werden.
  • Gender == 1 AND >=50 Jahre soll randomisiert entweder Katze oder Pferd angezeigt werden.
Kurzversion meiner Frage: Was muss ich machen, damit jeder Person in Abhängigkeit von Alter und Geschlecht eine passende Fragegruppe korrekt angezeigt wird?

Lange Version mit Erklärung der bisherigen Versuche und Probleme:
Ich habe bisher in einer eigenen Fragegruppe (nach der Fragegruppe mit Alter und Geschlecht) eine Gleichungsfrage namens RandomIndex (versteckt, außer zum Testen) mit der Gleichung (rand(0, 3)) erstellt (habe aber z.B. auch schon if(Gender == 0 AND Age >= 50, floor(rand(0, 3)), "") und weitere probiert).

Danach habe ich in einer weiteren separaten Fragegruppe eine Gleichungsfrage namens SelectedGroup mit der folgenden Gleichung erstellt:
if(Gender == 0 AND Age >= 50, if(RandomIndex == 0, "Hund", if(RandomIndex == 1, "Katze", if(RandomIndex == 2, "Maus", "Pferd"))), if(Gender == 0 AND Age >= 35, if(rand(0,1) == 0, "Hund", "Katze"), if(Gender == 0 AND Age >= 18, "Hund", if(Gender == 1 AND Age >= 50, if(rand(0,1) == 0, "Katze", "Pferd"), if(Gender == 1 AND Age >= 35, "Katze", "None")))))

Jede der Fragegruppen hat dann als Bedingung jeweils ihren Namen, also z.B. SelectedGroup == "Maus" in der Gruppenrelevanz stehen.

Die beiden Hauptprobleme:
1. Manchmal scheint RandomIndex keine Zahl zu berechnen. Das sieht man, wenn man die Frage zum Testen nicht versteckt, da wird dann einfach keine Zahl angezeigt. Ich möchte aber, dass RandomIndex bei Gender == 0 AND Age >= 50 immer eine Zahl ausgibt, der dann anschließend eine Fragegruppe zugeordnet wird.
2. Die Fragegruppen werden der Zahl aus RandomIndex nicht korrekt zugeordnet, zum Beispiel wird bei RandomIndex == 2 "Pferd" angezeigt, obwohl es ja laut der Gleichung "Maus" sein müsste.

Kann mir jemand sagen, wie ich die Probleme lösen kann bzw. wie ich das hinbekomme, dass allen Teilnehmenden eine passende Fragegruppe angezeigt wird? Geht das vielleicht noch viel einfacher?

Vielen Dank im Voraus!

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 hours 12 minutes ago - 6 hours 44 minutes ago #270843 by Joffm
Hallo,
nur eine kurze Rückmeldung.
Ich habe bisher nur recht flüchtig gelesen.
Ich bin nämlich sicher, dass es deutlich einfacher geht.

Zum Beispiel sollte man umgekehrt vorgehen, nämlich schauen, unter welchen Bedingungen die jeweilige Gruppe angezeigt wird.

Du hast leider keinen lss Export dieses Teils Deiner Umfrage angehängt.
Also werde ich etwas erstellen.

Eine Frage vorweg:
Jungen Männern wird keine Gruppe gezeigt?

Joffm

Zusatz (ging doch schneller als gedacht)
Die Bedingungen sehen ja so aus:
 

Das Schöne ist, dass Du nie eine Auswahl aus drei Gruppen benutzt. So reicht eine einzige Zufallszahl (1-4), die bei Auswahl aus zwei Gruppen
einfach entscheidet (größer 2 oder nicht) 
Außerdem würde (ich werde es in meinem Beispiel) eine Klasseneinteilung des Alters vornehmen; damit vereinfacht sich die Sache.

In LimeSurvey würden dann die Bedingungen der einzelnen Gruppen so aussehen:
Hund:
(Q1==0 AND Q2Class==1) OR (Q1==0 AND Q2Class==2 AND zufall lt 3) OR (Q1==0 AND Q2Class==3 AND zufall==1)

Katze:
(Q1==0 AND Q2Class==2 AND zufall gt 2) OR (Q1==0 AND Q2Class==3 AND zufall==2) OR (Q1==1 AND Q2Class==2) OR (Q1==1 AND Q2Class==3 AND zufall lt 3)

Maus:
(Q1==0 AND Q2Class==3 AND zufall==3)

Pferd:
(Q1==0 AND Q2Class==3 AND zufall==4) OR (Q1==1 AND Q2Class==3 AND zufall gt 2)

mit
Q1 = Geschlechtsfrage
Q2: Altersfrage
Q2Class (Gleichungsfrage: {if(Q2<35,1,if(Q2<50,2,3))}
zufall (Gleichungsfrage): {if(is_empty(self),rand(1,4),self)}

Theoretisch könnte man ein sich wiederholendes "Q1==0" faktorisieren, also ausklammern. 
Q1==0 AND (Q2Class==1 OR (Q2Class==2 AND zufall lt 3) OR (Q2Class==3 AND zufall==1))
Aber ob dies dann wirklich lohnend ist...?
 
P.S. mein Editor wollte die spitzen Klammern in der Gruppenbedingung nicht annehmen; daher besser die "verbale" Art (lt, gt).

 

File Attachment:

File Name: limesurvey...3758.lss
File Size:77 KB

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 6 hours 44 minutes ago by Joffm.

Please Log in to join the conversation.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose