0 votes
in SoSci Survey (dt.) by s116388 (130 points)

Hallo,
ich habe ein etwas komplizierteres Untersuchungsdesign, das ich als Neuling programmieren muss..

Ich habe zwei Bedingungen:
- 1. Bedingung mit Gruppen A, B, C, D
- 2. Bedingung mit Gruppen a, b, c, d und e und jeweils Untergruppen a1, a2, a3, b1, b2, b3, c1,c2,c3, d1, d2, d3, e1, e2, e3

Jeder Proband bearbeitet eine Gruppe der 1. Bedingung und 3 Untergruppen der 2. Bedingung, die jeweils aus unterschiedlichen Gruppen kommen sollten (also z.B.: A, a1, b3, e2).

Ich bin bis jetzt so weit gekommen:
Ich habe eine Urnenfunktion eingerichtet, die die Probanden zunächst einer der Bedingungen A, B, C oder D zuordnet.
Auf Basis dieser Zuordnung habe ich einen Zufallsgenerator programmiert, welcher drei Zettel zieht und den Probanden zu drei der fünfzehn Untergruppen zuordnet.
Mein Problem jetzt ist, dass diese Untergruppen aus unterschiedlichen Gruppen kommen sollten und nicht aus der gleichen. Mit meiner Programmierung wäre beispielweise eine Kombination von a1, b3, a3 möglich, was aber nicht geschehen soll.

Ich hoffe ich konnte mein Design und Problem klar darstellen. Gibt es irgendeine Möglichkeit dies zu programmieren?

Liebe Grüße.

by SoSci Survey (328k points)
Könnten Sie das Zusammenspiel der ersten "Bedingung" mit 4 Ausprägungen und der zweiten "Bedingung" mit 15 Ausprägungen nochmal erklären? Ist das ein 4x5x3 between subject Design?
by s116388 (130 points)
ja genau, es handelt sich um ein 4x5x3 between subject design

1 Answer

0 votes
by SoSci Survey (328k points)

es handelt sich um ein 4x5x3 between subject design

In diesem Fall empfehle ich einfach nur einen Zufallsgenerator mit 60 Gruppen. Ich hoffe, Sie haben genug Teilnehmer (also ca. 600-1200), damit das Ganze von den Effektstärken her auch sinnvoll auszuwerten ist :)

Damit Sie die 60 Versuchsgruppen im Fragebogen dann wieder einfach auf die 3 Bedingungen "verteilen" können, empfehle ich, dass Sie als Beschreibung für die Gruppen im Zufallsgenerator erstmal durch Kommata separiert Code für die Gruppen angeben, also z.B.

1 = 1,1,1,Hier steht evtl. noch eine Beschreibung
2 = 1,1,2,Hier steht evtl. noch eine Beschreibung
3 = 1,1,3,Hier steht evtl. noch eine Beschreibung
4 = 1,2,1,Hier steht evtl. noch eine Beschreibung
5 = 1,2,2,Hier steht evtl. noch eine Beschreibung
6 = 1,2,3,Hier steht evtl. noch eine Beschreibung
7 = 1,3,1,Hier steht evtl. noch eine Beschreibung
// u.s.w.

Wenn Sie nun eine Frage "interne Variablen" mit 3 Variablen anlegen, können Sie die Ziehung recht einfach in die drei Variablen aufspalten. Nehmen wir einmal an, Ihr Zufallsgenerator hat die Kennung RG01 und die internen Variablen haben die Kennungen IV01_01 bis IV01_03, dann würden Sie unter dem Zufallsgenerator folgenden PHP-Code einbinden:

$text = value('RG01', 'label');
$info = explode(',', $text);
if (count($info) >= 3) {
  put('IV01_01', $info[0]);
  put('IV01_02', $info[1]);
  put('IV01_03', $info[2]);
}

Mit den internen Variablen können Sie dann für Ihre Versuchsbedingungen bzw. die Präsentation der Inhalte sehr einfach Filter bauen.

by s116388 (130 points)
Vielen Dank erstmal!

zwei weitere Fragen:
- in der "1. Bedingung" soll Gruppe A und Gruppe B doppelt so häufig wie Gruppe C und Gruppe D gezogen werden (also 2:2:1:1), kann ich dies auch noch im Zufallsgenerator programmieren oder brauch ich hierfür die Urnenfunktion?

- "Mit den internen Variablen können Sie dann für Ihre Versuchsbedingungen bzw. die Präsentation der Inhalte sehr einfach Filter bauen" -> wie /mit welchen Befehlen mache ich dies dann?

LG
by SoSci Survey (328k points)
> kann ich dies auch noch im Zufallsgenerator programmieren oder brauch ich hierfür die Urnenfunktion?

Sehen Sie für diese 30 Teilgruppen einfach doppelt so viele Zettel im Zufallsgenerator vor. In Ihrem Fall also 2x30 + 30 = insgesamt 90 Zettel.

> wie /mit welchen Befehlen mache ich dies dann?

Das kommt auf den konkreten Fall an, also was angezeigt oder abgefragt werden soll. Im Prinzip aber immer das hier: https://www.soscisurvey.de/help/doku.php/de:create:randomization#stimulus_randomisieren

Im IF stünde dann z.B: if (value('IV01_01') == 1) ...
by s116388 (130 points)
ich habe nun 90 Zettel erstellt.

und dann Filter erstellt mit folgendem Code:
if (value('SB22_01') == 1) {
  question('BL01');
} elseif (value('SB22_01') == 2) {
  question('BL02');
} elseif (value('SB22_01') == 3) {
  question('BL03');
} elseif (value('SB22_01') == 4) {
  question('BL04');
} elseif (value('SB22_01') == 5) {
  question('BL05');
} elseif (value('SB22_01') == 6) {
  question('BL06');
...
}
und dies jeweils noch für SB22_02 und SB22_03
by SoSci Survey (328k points)
Ich bin nicht sicher: Ist das die Vermeldung eines Erfolgs oder eine Nachfrage?
by s116388 (130 points)
Eine Nachfrage.

mit diesen Codes werden nur die Untergruppen a und b angezeigt und auch mehrfach (z.B. zweimal a2)…
by SoSci Survey (328k points)
Ich bin leider nicht sicher, was Sie mit "Untergruppen" meinen. Sie haben ja ein 4x5x3 Design. Jetzt müssen Sie sich mittels PHP-Code darum kümmern, dass die drei Faktoren in der Fragebogen-Darstellung korrekt variiert werden.

Überlicherweise würde man da mit Texten (bzw. Teil-Texten) oder Platzhaltern arbeiten. Dass man Fragen verwendet (wie Sie im PHP-Code), ist eher untypisch.

Daher meine Nachfrage: Was wird von den drei Faktoren denn genau variiert?
by s116388 (130 points)
Also wie beschrieben sind die Bedingungen a1, a2, a3 Untergruppen der Gruppe a,

Ich biete einen Text an, der in bestimmten Formulierungen variiert.
Als Beispiel hier mit der ersten Bedingung (A) und zweite Bedingung (a1), letztere gehört einer Hauptgrupp (a) an

Stellen Sie sich eine A Person im Berufsfeld a1 vor...

Wie beschrieben, werden für jeden Probanden drei Texte dargeboten. Diese drei Texte sollen für die erste Bedingung (A) gleich sein, für die zweite Bedingung aber unterschiedlich (z.B. a1, b1, e3), also aus drei verschiedenen der fünf Gruppen (a, b, c, d, e)
by SoSci Survey (328k points)
Ich empfehle, dass Sie hier mit Platzahaltern arbeiten, das "A" und das "a1" ist ja mit einem Platzhalter hervorragend zu ersetzen.

Das A/B/C steht in der dritten Variable (SB22_03), ja? Und das 1-5 in der zweiten (SB22_02)? Dann könnte ein PHP-Code wie folgt aussehen:

if (value('SB22_03') == 1) {
  replace('%person%', 'A');
  if (value('SB22_02') == 1) {
      replace('%unter%', 'a1');
  } else  if (value('SB22_02') == 2) {
      replace('%unter%', 'a2');
  } else  if (value('SB22_02') == 3) {
      replace('%unter%', 'a3');
  }
  // bis 5
} elseif (value('SB22_03') == 2) {
  replace('%person%', 'B');
  if (value('SB22_02') == 1) {
      replace('%unter%', 'b1');
  } else  if (value('SB22_02') == 2) {
      replace('%unter%', 'b2');
  } else  if (value('SB22_02') == 3) {
      replace('%unter%', 'b3');
  }
  // bis 5
} // u.s.w.
by s116388 (130 points)
und wie würde der Code dann für den zweiten und dritten Text aussehen?
by SoSci Survey (328k points)
Das kommt darauf an, was SIe im zweiten und dritten Text variieren. Wenn es dieselben Faktoren sind mit denselben Begriffen, dann können Sie die Platzhalter einfach auch in den anderen Texten verwenden. Mehr PHP-Code benötigen Sie nur, wenn Sie weitere Platzhalter definieren möchten.
by s116388 (130 points)
ich variiere die gleichen Faktoren mit den gleichen Begriffen.
Die einzige Bedingung (wie gesagt) ist, dass der zweite bzw. dritte Text das gleiche "person" (A/B/C oder D) wie im ersten Text, aber die drei Texte drei unterschiedliche "unter" (z.B. a1, b3, e4) aus drei der fünf Gruppen a/b/c/d/e zeigen.
by SoSci Survey (328k points)
Nun, wie schon geschrieben: Dann verwenden Sie im zweiten und dritten Text einfach den gleichen Platzhalter.

Und ... kann es sein, dass Sie gar kein 4x5x3 between subject Design haben, sondern dass einer der Faktoren "within subject" ist? Ich frage nur, weil Sie bisher nur von zwei Faktoren schreiben, die sich im Text ändern. Falls dem so wäre, hätten Sie weniger als 90 Zettel.
by s116388 (130 points)
Also ich dachte, dass man das Design, das ich beschrieben habe, ein between subject Design ist..
Wie würde es denn aussehen, wenn ein within Faktor vorhanden ist?
by SoSci Survey (328k points)
Weiß ich nicht, weil ich aus Ihren Erklärungen immer noch nicht genau entnehmen konnte, wie viele Faktoren sie zwischen den Personen, also pro Interviewfall variieren (between subject) und ob Sie die drei Texte auch als Faktor (within subject) zählen.

Es wäre der Erklärung und auch der späteren Beschriebung in der Arbeit SEHR zuträglich, wenn Sie den drei Faktoren eindeutige Namen geben, genau die Faktorstufen beschreiben (hier zumindest deren Anzahl) und was mit jedem Faktor variiert wird.
by s116388 (130 points)
ok nochmal ausführlicher:

Text: "Stellen sie sich eine x Person im Berufsfeld y vor."

x = heterosexuelle, homosexuelle, schwule oder lesbische, lesbisch oder schwule
y = Fußball, Militär, Polizei (1. Gruppe männlich/lesbisch)
      Friseur, Kosmetik, Design (2. Gruppe weiblich/schwul)
      Informatik, Ingenieurwesen, Geschäftsführung (3. Gruppe männlich/neutral)
      Erziehung, Reinigung, Altenpflege (4. Gruppe weiblich/neutral)
      Journalismus, Pharmazie, Versicherungsberatung (5. Gruppe neutral/neutral

Jeder Proband soll drei Texte erhalten.
Die drei Texte sollen alle das gleiche x enthalten (z.B. heterosexuelle)
Die drei Texte sollen drei verschiedene y enthalten, die aus verschiedenen Gruppen kommen (z.B. Fußball, Informatik, Journalismus).
Es soll ein Stichprobenverhältnis von 2:2:1:1 hinsichtlich x (heterosexuell: homosexuell: schwul oder lesbisch: lesbisch oder schwul) vorhanden sein.
by SoSci Survey (328k points)
Okay, also haben Sie 2 Faktoren between subject (4x5) und 1 Faktor within-subject (die drei Texte) - ein dritter Faktor ist das aber nur, wenn Sie für die drei Texte auch individuelle Messungen vornehmen. Sonst sind es einfach nur 2 Faktoren.

Eigentlich hätten Sie 5x2 = 20 Zettel, aber weil Sie die Hälfte mit doppelter Wahrscheinlichkeit ziehen möchten, brauchen Sie 2x10+10 = 30 Zettel im Zufallsgenerator. Und darauf stehen dann auch nur 2 Werte, nicht 3.

Der PHP-Code passt und bleibt. Aus dem Zettel holen Sie sich die beiden Zahlen für die Faktorausprägungen (und speichern diese in interne Variablen). Und dann bereiten Sie Platzhalter vor. Aber weil Sie den Platzhalter für den zweiten Faktor von Text zu Text variieren, brauchen Sie gleich 3 Platzhalter. Das könnte dann wie folgt aussehen:

if (value('IV01_01') == 1) {
  replace('%fak1%', 'heterosexuelle');
} elseif (value('IV01_01') == 2) {
  replace('%fak1%', 'homosexuelle');
} // u.s.w.
}

Für den zweiten Faktor haben Sie nun untershciedliche Möglichkeiten. Entweder Sie definieren gleich 3 Platzhalter oder (einfacher) Sie definieren ihn auf jeder Textseite einfach neu:

if (value('IV01_02') == 1) {
  replace('%fak2%', 'Fußball');
} elseif (value('IV01_02') == 2) {
  replace('%fak2%', 'Friseur');
} // u.s.w.
}

Im Text verwenden Sie dann die Platzhalter %fak1% und %fak2%.
by s116388 (130 points)
die Berufsfelder innerhalb jeder Gruppe haben aber keine bestimmte Reihenfolge (also nicht Fußball = 1, Militär = 2, Polizei = 3).

und nach jedem Text kommt auf der nächsten Seite eine Frage, die die abängige Variable individuell misst -> bedeutet dies, dass es wieder drei Faktoren sind?

Wie funktioniert die Programmierung mit den drei Platzhaltern?
by SoSci Survey (328k points)
> die Berufsfelder innerhalb jeder Gruppe haben aber keine bestimmte Reihenfolge

Sondern? Nach welcher regel werden die 3 Begriff auf die drei Texte verteilt?

> bedeutet dies, dass es wieder drei Faktoren sind?

Das bedeutet, dass Sie einen Faktor mit drei Ausprägungen als within-subject (Messwiederholung) haben, ja. Dieser muss aber nicht (!) im Zufallsgenerator auftauchen.

> Wie funktioniert die Programmierung mit den drei Platzhaltern?

Das kommt auf Ihre Antwort auf die erste Frage an. Prinzipiell könnte es so aussehen:

if (value('IV01_02') == 1) {
  replace('%fak2a%', 'Fußball');
  replace('%fak2b%', 'Militär');
  replace('%fak2c%', 'Polizei ');
} elseif (value('IV01_02') == 2) {
  // u.s.w.
by s116388 (130 points)
es sollen einfach 3 Berufe aus den insgesamt 15 Berufen ausgewählt werden. DOch die 3 Berufe sollen aus drei unterschiedlichen Gruppen stammen.
by SoSci Survey (328k points)
Sie haben also 3 Gruppen á 5 Berufe und brauchen aus jeder Gruppe zufällig einen? Als erstes sollten Sie klären, ob Sie beim Effekt eine Interaktion zwischen Beruf und der Experimentalgruppe (5x4) erwarten, müssten Sie den Beruf entweder in das experimentelle Design aufnehmen (dann hätten sie hier einen weiteren Faktor mit 5x5x5 = 125 Ausprägungen) oder nicht.

Wenn nicht, dann stellt sich die Frage, warum Sie den Beruf überhaupt variieren. Aber dann können Sie für die 3 Berufsgruppen einfach 3 Zufallsgeneratoren verwenden, mit denen Sie drei Platzhalter belegen.

Was ich aber nicht verstehe: Was ist aus Ihrem zweiten Experimentfaktor geworden? Als Sie oben das Design beschrieben haben, haben Sie für den zweiten Faktor (y) beschrieben, Sie hätten 5 (!) mögliche Ausprägungen ("Gruppen"). Sind das die gleichen "Gruppen", von denen Sie hier sprechen?
by s116388 (130 points)
Ich habe 5 Gruppen a 3 Berufe (wie oben beschrieben). Ja, Der zweite Faktor y hat 5 Ausprägungen/Gruppen und jeder dieser Gruppen hat 3 Untergruppen (die Berufe). Es sollen aus diesen insgesamt 15 (5 mal 3) Berufen drei ausgewählt werden. Diese sollen aus unterschiedlichen Gruppen stammen.
by SoSci Survey (328k points)
Wie gesagt: Sie werden sich überlegen müssen, ob Sie einfach "nur" zufällig einen der 5 pro Gruppe aussuchen möchten, oder ob Sie das systematisch variieren möchten. Und wenn Sie es systematisch variieren möchten, dann sollten Sie klären, ob Sie alle 125 möglichen Kombinationen brauchen (5x5x5) oder nicht. Das ist eine methodische Frage des Untersuchungsdesigns - dafür bin ich nicht zuständig ;)
by s116388 (130 points)
Sie meinen einen der 3 pro Gruppe?

Also mein Design steht und habe ich ja beschrieben. Zufällig 3 Berufe aus den 15 Berufen, dabei die 3 Berufe aus 3 unterschiedlichen Gruppen.
by SoSci Survey (328k points)
> Es sollen aus diesen insgesamt 15 (5 mal 3) Berufen drei ausgewählt werden.

Langsam wird mir das Setting verständlich. Sie haben 5 Gruppen, daraus wählen Sie 3 aus. Dass Sie hier within-subject (3 Wiederholungen) und between-subject (5 Berufsgruppen) mischen, ist ziemlich unüblich. Ich sehe da auch einige methodische Schwierigkeiten. Dass Sie dann aus jeder Berufsgruppe nochmal einen von 3 Berufen herausgreifen, ist methodisch m.E. ebenfalls problematisch.

Rechnerisch haben Sie hier 5x4x3 = 60 mögliche Kombinationen, welche Berufsgruppen in einem Interview abgefragt werden, multipliziert mit 3x3x3 = 27 möglichen Kombinationen, welche Berufe konkret abgefragt werden. Das macht alleine auf diesem Faktor 1.620 mögliche Kombinationen.

Wenn Sie nun argumentieren, dass das doch egal sei, weil es ohnehin zufällig erfolgt: Das ist statistisch leider falsch. Denn jede dieser Kombinationen wird eine spezifische (und deutlich messbare) Verzerrung bei der zweiten und dritten Messwiederholung verursachen. Das lässt sich m.E. statistisch am Ende nicht mehr in den Griff bekommen. Heißt, Sie bekommen richtig viele Messartefakte und Messrauschen.

Technisch lässt sich das mit Zufallsgeneratoren schon umsetzen. Aber inhaltlich würde ich dringend (!) zu einer Vereinfachung des Designs raten. Wichtig: Im Experiment werden die Rahmenbedingungen normalerweise sehr eng gesteckt, um die interne Validität zu wahren. In Ihrem Fall sehe ich diese nicht mehr gegeben. Und noch schlimmer: Sie gewinnen durch die vielen Kombinationen kaum externe Validität.
by s116388 (130 points)
Ja, die Einschränkungen habe ich bereits mit meinem Betreuer besprochen.

Wie kann ich das Design denn programmieren?
by SoSci Survey (328k points)
Wenn Sie sich wegen der vielen Kombinationen (die Sie im Experiment vermutlich nicht alle abbilden können) keine Sorgen machen, dann legen Sie für die Ziehung "3 aus 5" einenZufallsgenerator an. Und für jede Berufsgruppe nochmal einen. Je nachdem, welche Berufsgruppen Sie im erstgenannten Zufallsgenerator ziehen, zeigen Sie drei von fünf Seiten (eine pro Berufsgruppe) an, ziehen dort aus dem jeweiligen Zufallsgenerator für die Berufsgruppe einen Beruf und zeigen diesen an.

Für die Anzeige der 3 aus 5 Seiten empfehle ich setPageOrder().
by s116388 (130 points)
Können Sie mir vielleicht noch einen Code dafür formulieren?

Das würde mir sehr weiterhelfen!
by SoSci Survey (328k points)
Probieren Sie einmal, wie weit Sie kommen ... posten Sie dann gerne in einer neuen Frage den PHP-Code und was noch nicht funktioniert.

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

...