0 votes
in SoSci Survey (dt.) by s214298 (175 points)

Hallo,

ich plane derzeit eine Befragung, in der ich Versuchspersonen in die folgenden 4 Gruppen einteilen möchte: 18-40-jährige Frauen, 41-65-jährige Frauen, 18-40-jährige Männer, 41-65-jährige Männer.

Diese 4 Gruppen sollen weitgehend die gleichen Fragen erhalten, zu einem bestimmten Zeitpunkt im Fragebogen sollen ihnen jedoch unterschiedliche Bildstimuli präsentiert werden. Innerhalb jeder Gruppe soll die Reihenfolge der insgesamt 3 präsentierten Bilder randomisiert werden; jedes Bild befindet sich mit zugehörigen Items jeweils auf einer einzelnen Seite. Die Items zur Erfassung von Geschlecht (SD01) und Alter (SD02) befinden sich auf Seite 4 des Fragebogens. Es ist geplant, das Alter über eine offene Texteingabe zu erfassen, hier sind nur Antworten zwischen 18 und 65 möglich. Nach Seite 4 folgen einige Seiten, die jede Versuchsperson unabhängig von der Gruppe sehen sollte, bevor die Bildstimuli präsentiert werden.

Folgende Filter möchte ich erstellen:

Wenn Geschlecht = weiblich UND Alter < 41
--> S. 15-17 in randomisierter Reihenfolge anzeigen
--> Wenn die Bedingungen nicht zutreffen, sollen S. 15-17 nicht angezeigt werden

Wenn Geschlecht = weiblich UND Alter > 40
--> S. 18-20 in randomisierter Reihenfolge anzeigen
--> Wenn die Bedingungen nicht zutreffen, sollen S. 18-20 nicht angezeigt werden

Wenn Geschlecht = männlich UND Alter < 41
--> S. 21-23 in randomisierter Reihenfolge anzeigen
--> Wenn die Bedingungen nicht zutreffen, sollen S. 21-23 nicht angezeigt werden

Wenn Geschlecht = männlich UND Alter > 40
--> S. 24-26 in randomisierter Reihenfolge anzeigen
--> Wenn die Bedingungen nicht zutreffen, sollen S. 24-26 nicht angezeigt werden

Wie genau könnte hierfür der PHP-Code aussehen?

Vielen Dank im Voraus für Tipps!

1 Answer

+1 vote
by SoSci Survey (309k points)

Im Prinzip müssen Sie das Bedingungen, wie von Ihnen geschrieben, nur in PHP-Filter übersetzen.

Wenn Geschlecht = weiblich UND Alter < 41

if ((value('SD01') == 1) && (value('SD02') <= 40))

Wenn Geschlecht = weiblich UND Alter > 40

if ((value('SD01') == 1) && (value('SD02') > 40))

u.s.w.

Und dazwischen dann noch, was Sie anzeigen möchten.

if ((value('SD01') == 1) && (value('SD02') <= 40)) {
    text('AB01');
} elseif ((value('SD01') == 1) && (value('SD02') > 40)) {
    text('AB02');
}
// u.s.w.

Die Kodierung Ihrer Variablen für SD01 und SD02 müssen Sie bitte noch kontrollieren. Ich habe hier mal exemplarisch eine Abfrage des Alters als offene Eingabe und 1=weiblich angenommen.

Aich sollten sie sicherstellen, dass die Antworten für SD01 und SD02 vorliegen. Das sollten also Pflichtfragen sein. Eventuell müssen Sie für Personen, die sich weder als weiblich noch männlich einordnen möchten, noch einen Screenout einbauen.

by s214298 (175 points)
Vielen Dank für die Antwort, das hat schon einmal sehr geholfen!

Wie muss ich nun vorgehen, wenn die Beurteilung der Bildstimuli und damit die gruppenspezifischen Aufgaben abgeschlossen sind und ich nun alle Versuchspersonen zu ein und derselben Seite weiterleiten möchte?

Sagen wir, Gruppe "18-40-jährige Frauen" sieht sich die Bildstimuli auf Seite 15-17 an. Nach dem Klicken auf "Weiter" nach der letzten der 3 Seiten sollten die Versuchspersonen dieser Gruppe dann die Seiten 18-26 überspringen, da auf diesen ja die Bildstimuli der anderen Gruppen gezeigt werden. Das heißt diese Gruppe sollte den Fragebogen nach Seite 17 ab Seite 27 weiter bearbeiten. Die Gruppe "41-65-jährige Frauen" sollte den Fragebogen entsprechend nach der Bearbeitung der Seiten 18-20 ab Seite 27 weiter bearbeiten, usw. Insgesamt sollen also alle vier Gruppen nach der Beurteilung der Bildstimuli auf Seite 27 weitermachen.

Ich brauche also keine Filterfrage ("Wenn eine bestimmte Antwort gegeben wurde, dann werden folgende Seiten übersprungen"). Sondern das Überspringen der Seiten soll dann aktiviert werden, wenn die Items der letzten Seite vollständig bearbeitet wurden und auf "Weiter" geklickt wurde.
by SoSci Survey (309k points)
Ich würde empfehlen, dass Sie nicht (!) mit unterschiedlichen Seiten arbeiten, sondern mittels PHP-Code direkt festlegen, welche Inhalte (z.B. Stimulus oder Fragen) angezeigt werden. Dann spart man sich das Herumspringen.

Aber wenn Sie unbedingt mit unterschiedlichen Seiten arbeiten möchten, dann sehen Sie sich bitte mal setPageOrder() an.
by s214298 (175 points)
Aber klappt das auch, wenn für jede Versuchsperson innerhalb der Gruppen die Reihenfolge der gruppenspezifischen 3 Bildstimuli und zugehörigen Items randomisiert zugewiesen werden soll?
by SoSci Survey (309k points)
Ja, Sie würden den Filter einfach auf mehreren Seiten verwenden. Und vermutlich wäre es dann noch ein klein wenig übersichtlicher (und auch für die Auswertung hilfreich), wenn Sie die 4 Bedingungen noch in eine interne Variable mit den Ausprägungen 1-4 umkodieren würden. Die können Sie dann einfach für die weiteren Filter verwenden.

if ((value('SD01') == 1) && (value('SD02') <= 40)) {
    put('IV01_01', 1);
} elseif ((value('SD01') == 1) && (value('SD02') > 40)) {
    put('IV01_01', 2);
}
// etc.
by s214298 (175 points)
Frohes neues Jahr!
 
Ich habe mich jetzt im neuen Jahr mal in Ruhe drangesetzt und es funktioniert. Herzlichen Dank :-)

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...