0 votes
in SoSci Survey (dt.) by s082232 (260 points)

Ich mache eine mehrwellige Befragung, wo die Teilnehmenden vier Mal dieselbe Befragung ausfüllen.

Dabei sollen sie abwechselnd am Anfang bzw. am Ende der Befragung eine Audio-Datei hören. Die erste Bedingung (Anfang oder Ende) soll dabei pro Proband:in zufällig bestimmt werden, die darauffolgenden Bedingungen sollen jedoch alterniert werden.

Im Endeffekt soll es zwei mögliche Reihenfolgen geben:
1. A (Audio am Anfang) - B (Audio am Ende) - A - B
2. B - A - B - A

Ich habe bisher leider nur herausgefunden, wie man Seiten untereinander mischt, aber nicht, wie man Seiten "zieht" und dieses Prozedere dann alterniert. Können Sie mir bitte helfen? Dankeschön!

1 Answer

0 votes
by SoSci Survey (282k points)
selected by s082232
 
Best answer

Eigentlich sollte Ihnen gleich der erste Abschnitt in der Anleitung Seiten rotieren weiterhelfen. Sie brauchen im Prinzip nur Ihre B-A-B-A-Abfolgen in einen Zufallsgenerator schreiben. Nur eben mit richtigen Seitenkennungen. Und dann noch drei Zeilen PHP-Code.

by s082232 (260 points)
Vielen Dank für Ihre schnelle Antwort!
Eine Frage habe ich aber noch: Jede*r Proband*in soll denselben Fragebogen mehrmals ausfüllen, nur eben in der alternierenden Reihenfolge. Wie stelle ich sicher, dass diese Reihenfolge eingehalten wird? Im Moment habe ich den Eindruck, dass der Zufallsgenerator vollkommen zufällig entscheidet, welche Reihenfolge er zieht (Hauptsache gleichverteilt), unabhängig davon, was der/die Proband*in vorher beantwortet hat.
by SoSci Survey (282k points)
> Jede*r Proband*in soll denselben Fragebogen mehrmals ausfüllen

Das müssten Sie bitte spezifizieren. Sprechen wir vom gleichen Erhebungszeitpunkt oder von einer mehrwelligen Erhebung? Haben Sie mehrere Kopien der Fragen oder arbeiten Sie mit einem Multi-Level-Design?

> habe ich den Eindruck, dass der Zufallsgenerator vollkommen zufällig entscheidet, welche Reihenfolge er zieht (Hauptsache gleichverteilt), unabhängig davon, was der/die Proband*in vorher beantwortet hat.

Das kommt darauf an, wie Sie den Zufallsgenerator einsetzen - und wie viele davon. Man kann im Prinzip alles umsetzen, was man will, man muss nur exakt spezifizieren *was* man will.
by s082232 (260 points)
Ja, es ist eine mehrwellige Befragung- wie ich ganz oben in meiner Frage geschrieben habe, sollen alle Teilnehmenden denselben Fragebogen vier Mal im Verlauf von vier Wochen beantworten. Dabei soll lediglich die Reihenfolge der Audio-Datei alterniert werden.
by SoSci Survey (282k points)
Pardon, das hatte ich eiskalt überlesen.

Damit Sie den Befragten in jeder Welle dieselbe Abfolge präsentieren können, müssten Sie diese nach der Zufallsziehung mittels panelUpdate() im Adresseintrag hinterlegen. Zum Beispiel als "custom1". Diesen Wert können Sie dann mittels panelData() in späteren Interviews nutzen. Falls Sie mit Serienmails arbeiten.

Eine andere Opion, welche auch mit anderen Lösungen für mehrwellige Erhebungen zurecht kommt, wäre die Datenbank für Inhalte.
by s082232 (260 points)
Wunderbar, vielen Dank! :-)
by s082232 (260 points)
Ich habe doch nochmal eine Frage- ich habe es jetzt versucht einzuprogrammieren, aber es funktioniert leider nicht. Ich habe die Gruppenzugehörigkeit zu einer der beiden Reihenfolgen in den Opt-in Fragebogen eingefügt und möchte sie jetzt beim Fragebogen nutzen, um die Seitenreihenfolge einzustellen. Das ist mein Code:

<php intID="24"><![CDATA[
$info = panelData();  // read data from SoSci address panel

if ($info) {
 $group = $info['subgroup'];  // subgroup stored in address panel
 put('SD44_01', $group);  // save group in questionnaire data
 registerVariable($group);  

 if (!isset($studyWeek)) {
   $studyWeek = readGET('usd');  // read week of study from URL sent with email
   registerVariable($studyWeek);
 }
 put('SD46_01', $studyWeek);  // save week of study in questionnaire data

if ($studyWeek == 2) { // if second week
     if ($group == 'last') {
  setPageOrder('med1, success-central');
} else {
  setPageOrder('better-central, med2, success');
}
}

if ($studyWeek == 3) { // if third week
     if ($group == 'first') {
  setPageOrder('med1, success-central');
} else {
  setPageOrder('better-central, med2, success');
}
}

if ($studyWeek == 4) { // if fourth week
     if ($group == 'last') {
  setPageOrder('med1, success-central');
} else {
  setPageOrder('better-central, med2, success');
}
}

if ($info === null) {
  // Fehlermeldung und Abbruch des Fragebogens,
  // falls der Fragebogen nicht via Serienmail aufgerufen wurde
  html('Anscheinend wurde dieser Fragebogen nicht von einer E-Mail aus aufgerufen, die Sie im Rahmen der Studie erhalten haben. Bitte klicken Sie auf den Link in der E-Mail oder kopieren Sie sie in die Adresszeile Ihres Browsers. Sollte das Problem trotzdem noch auftreten, wenden Sie sich bitte baldmöglichst an die Studienleiterin.');
  buttonHide();
  pageStop();
}
}

Können Sie mir bitte sagen, was ich ändern muss, damit es funktioniert? Dankeschön!
by SoSci Survey (282k points)
>  Ich habe die Gruppenzugehörigkeit zu einer der beiden Reihenfolgen in den Opt-in Fragebogen eingefügt

Hat das funktioniert ... sehen Sie in der Adressliste die Zuordnung, wenn Sie den entsprechenden Adresseintrag anklicken?

Lassen Sie sich die Information mal explizit anzeigen:

$info = panelData();
html('<p>Daten: '.json_encode($info).'</p>');
by s082232 (260 points)
Ja, die Gruppenzuordnung funktioniert.

Allerdings habe ich das Gefühl, dass der GET-Parameter nicht richtig übermittelt wird. Hier ist die Ausgabe der Info:

{"0":"last","1":false,"2":false,"3":false,"4":false,"5":false,"subgroup":"last","mailing":1,"mailsent":1652361901,"title":null,"firstname":null,"lastname":null,"gender":null,"email":null,"email.cc":null,"mobile":null,"serial":null,"note":null,"custom1":false,"custom2":false,"custom3":false,"custom4":false,"custom5":false}
by SoSci Survey (282k points)
Ich sehe da:

"subgroup":"last"

Ist das Ihre Gruppenzuordnung? Dann prüfen Sie bitte, ob es vielleicht an einem der anderen Filter liegt, zum Beispiel mit:

debug($group);
debug($studyWeek);

Oder außerhalb des Debug-Modus mit

html('<p>group: '.$group.'</p>');
html('<p>studyWeek: '.$studyWeek.'</p>');

Womöglich stimmt auch Ihre Schachtelung nicht so ganz. Den letzten Filter ($info === null) haben Sie womöglich innerhalb des Filters if ($info) ... das kann beides gleichzeitig nicht sein.

In dem Code oben scheint die Anzahl der öffnenden und schließenden geschweiften Klammern aber ohnehin nicht nicht ganz sauber.
by s082232 (260 points)
Ja, die Gruppenzuordnung ist "last" oder "first". Die Klammern habe ich nochmals überprüft und neu gesetzt.

Der Fehler scheint aber tatsächlich bei studyWeek zu liegen. Beim html-Code wird unter group etwas angezeigt, unter studyWeek allerdings nicht.

Muss ich bei readGET noch etwas anderes einstellen, außer den Parameter "usd = 1" (etc) an die Serienmails zu übergeben? Ich habe in den Hilfeseiten leider nichts weiter dazu gefunden.

Danke vielmals für Ihre Hilfe!
by SoSci Survey (282k points)
> Muss ich bei readGET noch etwas anderes einstellen, außer den Parameter "usd = 1" (etc) an die Serienmails zu übergeben?

Am einfachsten verwenden Sie keine Parameter im Link, sondern arbeiten mit der ID der Serienmail, die Sie über panelData() ebenfalls bekommen.

Ansonsten müssten Sie als erstes prüfen, ob der Parameter überhaupt in der Adresszeile des Browsers erscheint, wenn Sie in der Serienmail klicken.

Und dann würde ich Ihnen statt readGET() besser eine Frage vom Typ "Gerät und übermittelte Variablen" empfehlen. Diese hat weniger Probleme mit einem Neu-Laden der ersten Seite.

Egal, wie Sie sich entscheiden: readGET() oder die entsprechende Frage muss auf die erste Seite, die mit dem Link aufgerufen wird. Also normalerweise auf die erste Seite des Fragebogens später stehen die GET-Variablen nicht mehr zum Abruf zur Verfügung.
by s082232 (260 points)
Hallelujah! Jetzt hat es endlich geklappt :-) Das Übergeben der ID der Serienmail hat einwandfrei funktioniert. Vielen Dank für Ihre Zeit und Ihre Hilfe!

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

...