0 votes
in SoSci Survey (dt.) by s178438 (230 points)

Guten Tag,

ich würde gerne mittels Fragentyp "Polaritätenprofil" immer 2 Aussagen gegeneinander abwägen lassen. Hier hätte ich eine Liste an Items, welche zuerst zufällig zu Paaren kombiniert werden sollen.
Hätten Sie eine Idee, wie sich dies umsetzen ließe?
Im Fragentyp an sich muss man nämlich immer das Paar schon direkt gegenüber schreiben.

Vielen Dank im Voraus für Ihre Hilfe!

1 Answer

0 votes
by SoSci Survey (328k points)

Im Prinzip können Sie mit einem Zufallsgenerator (oder zweien) für den Zufall arbeiten und mit Platzhaltern, um die Texte dann auch im Polprofil anzuzeigen.

Bevor Sie das angehen, denken Sie aber bitte darüber nach, welche Datenstruktur Sie am Ende für die Auswertung benötigen und wie Sie die Auswertung rechnen möchten. Das wird in Ihrem Fall - nach meiner ersten Einschätzung - nicht ganz trivial!

Überlegen Sie auch, ob eine rein zufällig Zuordnung reicht oder ob Sie sicherstellen müssen, dass alle möglichen Paare ungefähr gleich häufig vorkommen?

by s178438 (230 points)
Ich habe es wie folgt ausprobiert:

S.14 php-code:
// Items in array speichern
$itemsgp = array(
    1 => 'Andere sagen mir manchmal, dass ich zu kritisch gegenüber anderen bin.',
    2 => 'Wenn mir andere sagen, dass ich falsch liege, ist meine erste Reaktion, mit ihnen zu streiten.',
    3 => 'Ich neige dazu, nachsichtig zu sein, wenn ich andere beurteile.',
    4 => 'Ich komme gut mit anderen aus.',
    5 => 'Ich bin hilfsbereit und selbstlos gegenüber anderen.',
    6 => 'Ich neige dazu, andere zu kritisieren.',
    7 => 'Ich kann mich kalt und distanziert verhalten.',
    8 => 'Ich bin nicht nachtragend, vergebe anderen leicht.'
);

// ITEM 1
// Zufällige Auswahl eines Items für den Negativ-Pol
urnDraw('urne', 'GP01');
$code = value('GP01_01');
$gpitem = $itemsgp[$code];


// Zufällige Auswahl eines Items für den Positiv-Pol
urnDraw('urne', 'GP01');
$code = value('GP01_01');
$gpitem = $itemsgp[$code];

S. 15 php:
// Ablegung des gezogenen Items im Platzhalter $item1%
replace('%item1%', $gpitem);

// Ablegung des gezogenen Items im Platzhalter $item2%
replace('%item2%', $gpitem);

S. 16 GP01 (Polaritätenprofil mit Platzhalten (bspw. %item1%)

zusätzlich habe ich eine Urne mit 8 Items angelegt.

Hier der Pretest-Link: https://www.soscisurvey.de/sd_assess/?act=XpIrVmAQpWUE5nRLeWvrt887

Ich werde nur so von Fehlermeldungen erschlagen. Könnten Sie mir bitte weiterhelfen, wie meine Codes funktionieren?
by s178438 (230 points)
"Überlegen Sie auch, ob eine rein zufällig Zuordnung reicht oder ob Sie sicherstellen müssen, dass alle möglichen Paare ungefähr gleich häufig vorkommen?"

Das ist ein sehr guter Punkt. Jedes Paar sollte ungefähr gleich häufig vorkommen. haben Sie eine Idee, wie man das gewährleisten kann?
by SoSci Survey (328k points)
> Jedes Paar sollte ungefähr gleich häufig vorkommen. haben Sie eine Idee, wie man das gewährleisten kann?

Das wird anspruchsvoll. Denn Sie haben 56 mögliche Kombinatonen aus zwei der 8 Aussagen (wenn wir auch die links/rechts-Abfolge unterscheiden), dürfen aber daraus pro Interview nur 8 ziehen, sodass keine Aussage doppelt vorkommt.

Es gibt demnach knapp 8! = 40320 mögliche Kombinationen von Paaren, die Sie anbieten können. Und diese müssten so ausgewählt werden, dass alle Kombinationen ungefähr gleich häufig vorkommen. Keine ganz triviale Aufgabe. Eine mögliche Lösung bestünde darin, dass Sie alle 40320 aufschreiben und dan solange so viele auswählen, wie Sie an Interviews planen, bis die Zahl ungefähr passt.

Eine ander Lösungsstrategie könnte sein, dass Sie (direkt im Fragebogen) einen Algorithmus schreiben, der Kombinationen auf Basis der Regeln und der bisherigen Häufigkeiten auswählt. Dafür muss man aber schon Spaß am programmieren haben. Aber komplexe Ambitionen erfordern das schon mal...

Was die Fehlermeldungen angeht, die erste lautet:

> Der Befehl put() kann nur in eine interne Variable speichern. Die Frage GP01 ist nicht vom Typ "Interne Variablen".

Lesen Sie dazu bitte https://www.soscisurvey.de/help/doku.php/de:create:questions:internal

Und dann muss man die Fehlermeldungen einfach von oben nach unten abarbeiten. Oftmals fallen spätere weg, wenn man vorne einen Fehler löst.

Was ich nicht ganz nachvollziehen kann ist, warum Sie ein Array UND eine Urne UND einen Zufallsgenerator verwenden. Einfach nur ein Zufallsgenerator sollte ausreichen.
by s178438 (230 points)
Vielen Dank schonmal für die Antwort!
Ich habe mich nun mit dem Thema noch intensiv beschäftigt und hoffe nun, dass wir zu einer endgültigen Lösung kommen. Bei mir hakt es nun nur noch an einer Stelle.

Ich habe nun beschlossen, dass es egal ist, wie oft ein kombiniertes Itempaar vorkommen soll. Den Zufallsgenerator und den array habe ich komplett rausgelöscht und verwende nun nur noch die Urne, in die ich alle 8 Items untereinander geschrieben habe (also 8 Zettel). Außerdem habe ich eine Interne Variable (GP02) angelegt, um dort die gezogenen Zettel zu speichern.

Auf meiner ersten Seite möchte ich mittels php Code programmieren, dass nun alle 8 Zettel nacheinander gezogen werden. Der jeweilig gezogene Zettel (also das Item) soll dann in der internen Variable abgespeichert werden:

// Paar 1
// Zufällige Auswahl eines Items für den Negativ-Pol
urnDraw('urne', 'GP02');
// Zufällige Auswahl eines Items für den Positiv-Pol
urnDraw('urne', 'GP02');

// Paar 2
// Zufällige Auswahl eines Items für den Negativ-Pol
urnDraw('urne', 'GP02');
// Zufällige Auswahl eines Items für den Positiv-Pol
urnDraw('urne', 'GP02');

// Paar 3
// Zufällige Auswahl eines Items für den Negativ-Pol
urnDraw('urne', 'GP02');
// Zufällige Auswahl eines Items für den Positiv-Pol
urnDraw('urne', 'GP02');

// Paar 4
// Zufällige Auswahl eines Items für den Negativ-Pol
urnDraw('urne', 'GP02');
// Zufällige Auswahl eines Items für den Positiv-Pol
urnDraw('urne', 'GP02');

in meinen erhobenen Daten wird mir pro Interview jedoch nur 1 Item angezeigt. Muss ich hier dann in GP02 so viele Zeilen anlegen, wie es Items gibt? also in dem Fall  GP_01 - GP_08?


auf der nächsten Seite möchte ich nun die gezogenen Items in meine Platzhalter, welche ich in meiner Frage GP01 (Polaritätenprofil) angelegt habe, einfügen. Hier habe ich nun folgenden PHP-Code:
// Ablegung des gezogenen Items im Platzhalter $item1%
replace('%item1%', 'GP02');

// Ablegung des gezogenen Items im Platzhalter $item2%
replace('%item2%', 'GP02');

// Ablegung des gezogenen Items im Platzhalter $item3%
replace('%item3%', 'GP02');

// Ablegung des gezogenen Items im Platzhalter $item4%
replace('%item4%', 'GP02');

// Ablegung des gezogenen Items im Platzhalter $item5%
replace('%item5%', 'GP02');

// Ablegung des gezogenen Items im Platzhalter $item6%
replace('%item6%', 'GP02');

// Ablegung des gezogenen Items im Platzhalter $item7%
replace('%item7%', 'GP02');

// Ablegung des gezogenen Items im Platzhalter $item8%
replace('%item8%', 'GP02');

Leider wird hier in die Platzhalter nicht der Inhalt des gezogenen Zettels (also das Item) abgelegt, sondern tatsächlich das Wort GP02. Haben Sie ein3 Idee, wie der tatsächliche Inhalt an den Platzhalter übergeben werden kann?

Ich habe bereits versucht den code mit 'response' zu ergänzen, also
replace('%item1%', 'GP02' , 'response');
das klappt aber leider auch nicht.

hier nochmal der Pretest-Link:
https://www.soscisurvey.de/sd_assess/?act=onUrgWlK5yX1g6JBIIAqC6Za
by SoSci Survey (328k points)
>  und verwende nun nur noch die Urne, in die ich alle 8 Items untereinander geschrieben habe

Der Zufallsgenerator ist die Weiterentwicklung der Urnen-Funktion. Und im Gegensatz zu dieser unterstützt sie mehrere Ziehungen pro Interview. Insofern möchte ich Ihnen dringend zum Zufallsgenerator raten.

Legen Sie die Aussagen 1-8 in den Zufallsgenerator und stellen Sie ein, dass pro Interview jeweils 8 Zettel gezogen werden.

Nun haben Sie das erste Paar in RG01x1 und RG01x2, das zweite Paar in RG01x3 und RG01x4 u.s.w.

Auch das replace() wird dann relativ einfach, wenn Sie wirklich die Aussagen eingetragen haben:

replace('%item1%', 'RG01x1', 'response');
replace('%item2%', 'RG01x2', 'response');
replace('%item3%', 'RG01x3', 'response');
// u.s.w.

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

...