0 votes
in SoSci Survey (dt.) by s109648 (140 points)

Ich habe folgenden Code:

  if (value('IV01_01') == 1 ) {
        question('IA01');
    } elseif (value('IV01_01') == 2 ) {
        if (value('HM01') == 1 ) {
            question('IA01');
        }  elseif (value('HM01') == 2 ) {
            question('IA02');
        }  else {
            question('IA03');
        }
    } else {
        question('RG02');  
        put('IV02_01', value('RG02')); 
        if (value('IV02_01') == 1 ) {
            question('IA01');
        }  elseif (value('IV02_01') == 2 ) {
            question('IA02');
        }  else {
            question('IA03');
        }    
    }

Es geht hauptsächlich um den letzten Teil, in dem ich der Kontrollgruppe durch einen Zufallsgenerator verschiedene Fragen (IATs) präsentiere. Was ich allerdings eigentlich möchte, ist dass die Kontrollgruppe parallel zur 2. Experimentalgruppe zugeordnet wird, d.h. genauso viele Probanden in der KG bekommen den IA01/IA02/IA03 als es Probanden in der EG2 bekommen. Die Anzahl der Probanden in der EG2, die einen bestimmten IAT bekommen, bestimmt sich jedoch durch eine Frage, die die KG nicht bekommt. Die Kontrollgruppe müsste also der EG2 folgen.

Gibt es da eine Möglichkeit dies umzusetzen? Also das genauso viele Probanden in der KG den jeweiligen IAT präsentiert bekommen, wie in der EG2?

Vielen Dank schon einmal im Voraus!

1 Answer

0 votes
by SoSci Survey (302k points)

Was ich allerdings eigentlich möchte, ist dass die Kontrollgruppe parallel zur 2. Experimentalgruppe zugeordnet wird, d.h. genauso viele Probanden in der KG bekommen den IA01/IA02/IA03 als es Probanden in der EG2 bekommen.

Möglich ja, aber nicht vollautomatisch - denn das ist eine sehr, sehr spezielle Zielsetzung :)

Sie können mit der Datenbank für Inhalte arbeiten. Und zwar legen Sie 3 Einträge an für die Anzahl der Teilnehmer in der Gruppe EG2, und 3 Einträge für die Anzahl der Teilnehmer in der KG.

Das mit dem Zählen könnte wie folgt aussehen:

if (getRoute() == 'next') {
    $group = value('IV01_01');
    if ($group == 2) {
        $sub = value('HM01');
    } elseif ($group != 1) {
        $sub = value('IV01_01');
    } else {
        $sub = 0;
    }
    $countCode = 'G'.$group.'S'.$sub;
    $curData = dbGet($countCode);
    $count = (isset($curData[0]) ? (int)$curData[0] : 0);
    $count++;
    dbSet($countCode, $count);
}

Das ist der einfache Teil. Für die "Randomisierung" müssen Sie nun abrufen, wie viele Leute Sie in den Gruppen bereits haben, dann das Ganze in Prozente umrechnen (denn die Gruppen verweden womöglich ungleich groß sein), dann gerausfinden, wo die meisten Prozente fehlen, und dann haben Sie auch schon die "Randomisierung".

by s109648 (140 points)
Vielen Dank für die Antwort.
Aber würde dieser Teil nicht dazu führen, dass alle aus der KG (IV01_01=3) den Code G3S3 bekommen?
elseif ($group != 1) {
        $sub = value('IV01_01');    }
by s109648 (140 points)
Außerdem kommt folgende Warnung:

"Warnung: Unerwartetes Element: : - fehlt hier vielleicht ein Semikolon (;) oder Anführungszeichen?

$count = (isset($curData[0]) ? (int)$curData[0] :

Warnung: Unerwartetes Element: 0 - fehlt hier vielleicht ein Semikolon (;) oder Anführungszeichen?

$count = (isset($curData[0]) ? (int)$curData[0] : 0"
by SoSci Survey (302k points)
Diese Warnung können Sie - wenn sie direkt beim "Fragebogen zusammenstellen" erscheint - ignorieren. Die Code-Assistenz kennt das (... ? ... : ...) einfach noch nicht. Alternatürlich können Sie schrieben:

if (isset($curData[0])) {
  $count = $curData[0];
} else {
  $count = 0;
}
by SoSci Survey (302k points)
> Aber würde dieser Teil nicht dazu führen, dass alle aus der KG (IV01_01=3) den Code G3S3 bekommen?

Ja. In Ihrem ursprünglichen Code haben Sie der KG ja auch immer nur die Frage IA01 gezeigt. Also alles in Ordnung :)
by s109648 (140 points)
> Ja. In Ihrem ursprünglichen Code haben Sie der KG ja auch immer nur die Frage IA01 gezeigt. Also alles in Ordnung :)

Bin verwirrt :) Die EG1 bekommt nur den IA01, nicht die KG:
if (value('IV01_01') == 1 ) {
        question('IA01');
    }
In der KG brauche ich 3 subgroups, die je nach Anzahl der Teilnehmer in den subgroups der EG2, entweder die Frage IA01, IA02 oder IA03 präsentiert bekommen
by SoSci Survey (302k points)
Alles gut ... ich hatte zu schnell geantwortet.

> Aber würde dieser Teil nicht dazu führen, dass alle aus der KG (IV01_01=3) den Code G3S3 bekommen?
> elseif ($group != 1) {

Das steht nicht == (also "ist gleich"), sondern != (also "ist ungleich"). Ich hatte das so formuliert, weil ich nicht wusste, ob Sie außer 3 noch andere Codes verwenden. Sie können auch ($group == 3) schreiben.
asked May 20, 2020 in SoSci Survey (dt.) by s109648 (140 points)
edited May 23, 2020 by s109648
Wo ist der Fehler? Zuweisung der Items auf die Kontrollgruppe

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

...