0 votes
in SoSci Survey (dt.) by s114711 (205 points)
edited by s114711

Liebe SoSci-Survey-Team,

ich möchte gerne eine Discrete-Choice-Analyse durchführen.
Ziel davon soll es sein die Relevanz von verschiedenen Arbeitgeberattributen für die Arbeitgeberwahl herrauszufinden.

Unter anderem sollen folgende Attribute und Levels sollen dabei jeweils zu Stellenangeboten kombiniert werden:
Gehalt (branchenüblich, überdurchschnittlich, unterdurchschnittlich)
Arbeitsplatzsicherheit (befristetes Arbeitsverhältnis, unbefristetes Arbeitsverhältnis)
Umweltfreundlichkeit (umweltfreundliches Unternehmen, Umweltskandal)
Der Proband soll sich dann jeweils für ein Stellenangebot entscheiden können. In der nächsten Runde sollen ihm dann wieder 3 verschiedene Stellenangebote aus gegeben Attributen und deren Levels präsentiert werden.

in etwa wie folgt:

Ich hab mir bereits die Kapitel zu Randomisierung (mit Urnen) durchgelesen und interne Variablen sowie einen Zufallsgenerator erstellt.
Jedoch weiß ich nicht wie ich daraus mein Choice-Experiment bauen soll.
Bei dem Zufallsgenerator habe ich das Problem, dass ich da keine Frage / Anweisung stellen kann und zudem auch nur die Attribute festlegen kann, jedoch keine Levels.
Es sieht folgender Maßen aus:

Meine Urne sieht wie folgt aus:

Und meine internen Variablen folgendermaßen:

Jetzt hätte ich 2 Fragen:
Stimmt das was ich bisher gemacht habe?
Und was muss ich jetzt tun, damit aus diesen Einzel-Bestandteilen eine Choice-Experiment entsteht?
Ich muss wahrscheinlich irgendwelche Funktionen in den PHP-Code oder HTML-Code eingeben, jedoch weiß ich nicht welche und wie kombiniert.

Vielen Dank im Voraus und beste Grüße,
Beatrice Schaupner

2 Answers

+1 vote
by SoSci Survey (302k points)

Bei dem Zufallsgenerator habe ich das Problem, dass ich da keine Frage / Anweisung stellen kann und zudem auch nur die Attribute festlegen kann, jedoch keine Levels.

Hier müssen Sie erstmal für sich klären, ob Sie alle Kombinationen aller Varianten gleich häufig abfragen müssen/möchten oder ob es z.B: ausreicht, alle Kombinationen gleich häufig darzubieten.

Auf den ersten Blick würde ich sagen, dass Sie 3 Attribute haben, die jeweils 2 Ausprägungen annehmen können. Wenn Sie also eine Variante als Zahl abbilden möchten, dann wären das 2x2x3=12 Zettel im Zufallsgenerator.

Urnen würde ich aufgrund der etwas komplexeren Funktionsweise hier nicht empfehlen.

Wenn Sie 3 Zettel aus dem Zufallsgenerator ziehen, könnte der folgende PHP-Code wie folgt aussehen:

$kombinationen = array(
  1 => array('branchenübliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltskandal'),
  2 => array('branchenübliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen'),
  3 => array('branchenübliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltskandal'),
  4 => array('branchenübliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen'),
  // u.s.w.
  12 => array('überdurchschnittliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen')
);
$variants = valueList('RG01');
foreach ($variants as $varID => $code) {
  $data = $kombinationen[$code];
  foreach ($data as $i => $text) {
    replace('%'.$varID.'_'.($i+1).'%', $text);
  }
}

Ja, zugegeben, durch die Verschachtelung am Ende wird es nicht gerade leichter verständlich.

Was der Code macht? Sie definieren erstmal die möglichen 12 Kombinationen. Dann gehen Sie alle 3 gezogenen Codes (jeweils aus dem Bereich 1 bis 12) durch und speichern die zugehörigen Texte in die Platzhalter %RG01x1_1% bis %RG01x3_3%.

Probieren Sie das einmal uns berichten Sie, wie weit SIe kommen.

by s114711 (205 points)
Hallo,
vielen Dank für Ihre großartige Hilfe.
Ich habe nurn im Zufallsgenerator A001 alle möglichen Kombinationen angelegt.
Mit allen möglichen Kombinationen ergibts sich nun folgender Code:

$kombinationen = array(
  1 => array('branchenübliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltskandal'),
  2 => array('branchenübliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen'),
  3 => array('branchenübliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltskandal'),
  4 => array('branchenübliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen'),
  5 => array('unterdurchschnittliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltskandal'),
  6 => array('unterdurchschnittliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen'),
  7 => array('unterdurchschnittliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltskandal'),
  8 => array('unterdurchschnittliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen'),
  9 => array('überdurchschnittliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltskandal'),
  10 => array('überdurchschnittliches Gehalt', 'befristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen'),
  11 => array('überdurchschnittliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltskandal'),
  12 => array('überdurchschnittliches Gehalt', 'unbefristetes Arbeitsverhältnis', 'umweltfreundliches Unternehmen')
);
$variants = valueList('A001');
foreach ($variants as $varID => $code) {
$data = $kombinationen[$code];
foreach ($data as $i => $text) {
replace('%'.$varID.'_'.($i+1).'%', $text);
  }
}

Ich habe also bei $variants = valueList('A001') jetzt die Kennung meines Zufallsgenerators eingetragen

Wenn ich diesen Code ausführen will ergeben sich jedoch folgende Fehler:
- "Undefined index" für die Zeile $data = $kombinationen[$code];
- "Invalid argument supplied for foreach()" für die Zeile foreach ($data as $i => $text)

könnten Sie mir weiterhelfen, woran diese Fehler liegen?

Vielen Dank und beste Grüße,
by SoSci Survey (302k points)
Bitte ergänzen Sie unter dem valueList() und vor dem foreach() noch folgende Zeile und posten Sie, was die Debug-Information berichtet:

debug($variants);
0 votes
by s114711 (205 points)

... auf den Kommentar zur unteren Antwort bezogen:

Hilft das weiter? Muss ich die Variablen A001x01 etc im Zufallsgenerator noch definieren?

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

...