0 votes
in SoSci Survey (dt.) by s188183 (110 points)

Hallo,

ich habe einen experimentellen Fragebogen mit 2 Vignetten erstellt. Es handelt sich nun um ein Fragebogenprojekt mit 3 Fragebögen (Fragebogen 1 mit Vignette 1; Fragebogen 2 mit Vignette 2 und ein Fragebogen mit einem PHP-Code für die randomisierte Zuweisung der beiden anderen Fragebögen).

Nun würde ich gerne einzelne Begriffe des Frage-Text bzw. einzelne Begriffe in einem Items von einer Frage variieren, sodass diese zur entsprechenden Vignette passt.

Z.B. Vignette 1 auf Fragebogen 1: Tobias macht viel Ärger und schreibt schlechte Noten.

    Vignette 2 auf Fragebogen 2: Ahmed macht viel Ärger und schreibt schlechte Noten.

Frage-Text: Wie schätzen Sie die Kommunikation mit den Eltern des Kindes ein?

Mögliches Item: Die Kommunikation mit den Eltern schätze ich als problematisch ein.

--> bei diesem Frage-Text, sowie bei dem Item, würde ich gerne "des Kindes" in "von Tobias bzw. Ahmed" (je nach zugewiesenem Fragebogen bzw. Vignette) anpassen -> wie ist das möglich?

--> das Gleiche dann auch bei dem Item: Die Kommunikation mit den Eltern [von Tobias/ von Ahmed] schätze ich als problematisch ein.

Der Name muss sich somit je nach der zufällig gegebenen Vignette ändern. Gibt es für so etwas einen passenden PHP-Code?

Ich hoffe wirklich sehr, dass Sie mir helfen können. Ich verzweifle langsam daran...

Vielen Dank und Mit freundlichen Grüßen!

1 Answer

0 votes
by SoSci Survey (306k points)

Dies können Sie mit Platzhaltern erreichen, wie in der Anleitung erklärt:
Mehrfaktorielles Experimentaldesign

by s188183 (110 points)
Hallo,

leider hat mir diese Antwort nicht weitergeholfen. Es geht bei meiner Frage nicht um eine zufällige Zuweisung - diese ist durch die Randomisierung des Fragebogens bzw. der Vignette bereits gegeben.
Ich würde gerne, bevor ich den Fragebogen austeile, folgendes festlegen:

Frage-Text: Wie schätzen Sie die Kommunikation mit den Eltern des Kindes ein?

Mögliches Item: Die Kommunikation mit den Eltern schätze ich als problematisch ein.

Wenn Fragebogen 1 (mit Vignette 1: Ahmed) gegeben, dann in Frage-Text anstelle [des Kindes] den Namen Ahmed einsetzen.

Wenn Fragebogen 2 (mit Vignette 2: Lukas) gegeben, dann in Frage-Text anstelle [des Kindes] den Namen Lukas einsetzen.

So würde ich das gerne bei verschiedenen Frage-Texten und einzelnen Items verändern - sodass anstelle allgemeiner Begriffe wie das Kind oder des Kindes ein Name steht (Ahmed oder Lukas) der zu der vorausgehenden Vignette (Ahmed oder Lukas) passt.

Ich hoffe nun ist mein Problem etwas verständlicher. Ich habe bereits versucht einen eigenen PHP-Code zu schreiben, jedoch leider ohne Erfolg...

Vielen Dank für Ihre Hilfe !
by SoSci Survey (306k points)
> Wenn Fragebogen 1 (mit Vignette 1: Ahmed) gegeben, dann in Frage-Text anstelle [des Kindes] den Namen Ahmed einsetzen.

Nun, das können Sie ja mittels replace() und dem zugehörigen Platzhalter einfach erledigen: https://www.soscisurvey.de/help/doku.php/de:create:placeholders

Ich ging davon aus, dass Sie alle Vignetten über denselben Fragebogen realisierne möchten. Dies wäre aus meiner Sicht deutlich eleganter. Mehrere Kopien des Fragebogens sind aus meiner Sicht fehleranfälliger ... wenn man in einer Vignette eine Frage oder eine letzte Änderung übersieht, dann verdirbt man sich damit den kompletten Datensatz.

> Ich habe bereits versucht einen eigenen PHP-Code zu schreiben, jedoch leider ohne Erfolg...

Keine falsche Scheu: Posten Sie Ihre Code-Versuche, und beschreiben Sie kurz, was nicht funktioniert. Am besten posten Sie zusammen mit dem Code auch gleich die Debug-Information zur Seite: https://www.soscisurvey.de/help/doku.php/de:create:debugging
by s188183 (110 points)
Vielen Dank für die Rückmeldung!

Ich hatte bereits versucht die Platzhalter zu nutzen - doch leider ohne Erfolg.
Ich habe ein Befragungsprojekt, in dem 2 identische Fragebögen drin sind - die sich nur durch den Namen in den jeweiligen Vignetten unterscheiden. Nur diese Fragebögen werden ausgeteilt. Sie werden durch eine zufällige Auswahl einer der Fragebögen zugeteilt mit dem Code:

$qnr = value('RF01', 'label');
goToQuestionnaire($qnr);

Da die beiden Fragebögen wirklich komplett identisch sind, ist es so, dass wenn ich etwas in einem der Fragebögen veränderte (Item oder Text o.ä.) sich das auch in dem anderen Fragebogen verändert. Insofern kann ich hier auch so vorgehen oder besteht dann auch noch eine Gefahr?

Da ich so vorgegangen bin, brauche ich solch eine Funktion wie den Platzhalter - nur hatte ich es beim Platzhalter so verstanden, dass dieser für folgende Daten vorgesehen ist: die Antwort des Befragten auf eine vorhergehende Frage, ein zufällig randomisierter Inhalt/Stimulus oder das Ergebnis einer live-Auswertung. Und hier trifft leider nichts davon auf meinen Fragebogen zu.

Ich möchte den Namen ja nicht innerhalb der Befragung randomisieren, sondern im Vorhinein festlegen, wenn Vignette A, dann Name A in den Items und Fragen und wenn Vignette B, dann Name B in den Items und Fragen.

Ich habe als Test für den PHP-Code einen einseitigen Fragebogen erstellt:

1. Wie schätzen Sie die Kommunikation mit dem Kind ein?

Antwort-Item: Das Kind wird nicht gerne über seine Probleme sprechen.

Und an diesen Stellen soll "Das Kind" durch den Namen in der jeweils vorhergehenden Vignette ersetzt werden (z.B. Vignette A /Fragebogen 1 , dann den Namen Tobias ; Vignette B/ Fragebogen 2, dann den Namen Ahmed).

Und hierzu habe ich versucht, selbst einen PHP-Code zu schreiben:

if ('T102') {
  replace('%person%', 'Tobias');
}

--> Also wenn Vignette 1 (enthält den Namen Tobias), dann ersetze den Platzhalter %person% in Tobias  und das Item müsste in dem Fall so lauten:

%person% wird nicht gerne über seine Probleme sprechen. --> so dass der PHP-Code erkennt, an welcher Stelle der Name Tobias eingesetzt werden soll.

Doch dann kommt folgende Problemmeldung:

For the placeholder %person% neither an input field by prepare_input() has been created nor any content by using replace().

... und einmal hatte es die Vignette auch durch den IF-Befehl im Fragebogen zweimal angezeigt. --> Ist das IF nicht wie eine Wenn-Dann-Funktion zu verstehen?

Können Sie mir sagen, was an dem PHP-Code falsch ist und wie ich diesen programmieren muss, dass es die Namen ersetzt?

Ich freue mich sehr über eine Rückmeldung!:)
by SoSci Survey (306k points)
> Da die beiden Fragebögen wirklich komplett identisch sind, ist es so, dass wenn ich etwas in einem der Fragebögen veränderte (Item oder Text o.ä.) sich das auch in dem anderen Fragebogen verändert. Insofern kann ich hier auch so vorgehen oder besteht dann auch noch eine Gefahr?

Wenn Sie an den Fragen selbst etwas ändern, ist das kein Problem. Aber wehe, Sie entfernen eine der Fragen aus einem der Fragebogen oder ändern die Abfolge :)

> Da ich so vorgegangen bin, brauche ich solch eine Funktion wie den Platzhalter - nur hatte ich es beim Platzhalter so verstanden, dass dieser für folgende Daten vorgesehen ist

Sie können auch einfach auf der ersten Seite des Fragebogens schreiben:

replace('%person%', 'Tobias');

Ohne IF, ohne alles andere. Ein wenig banal, aber ich denke, genau das suchen Sie?!

Wichtig ist, dass Sie das in beiden Fragebögen auf der ersten Seite platzieren, nicht in dem "random" Fragebogen, der sich um die Zuteilung kümmert.

Oder wenn Sie nur einen einzelnen Fragebogen verwenden:

replace('%person%', 'RF01', 'response');

Unter dem Zufallsgenerator, den Sie auf der ersten Seite platzieren würde, auf welcher der Platzhalter %person% verwendet wird.
by s188183 (110 points)
Vielen herzlichen Dank für die Rückmeldung!
Das ist genau das, wonach ich gesucht habe. Mir war nicht bewusst, dass es so einfach sein kann. Es funktioniert nun so, wie ich es haben möchte.

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

...