0 votes
in Methoden-Fragen by s181413 (120 points)

Hallo,

ist es möglich, Fragen zu randomisieren, allerdings in dieser Form:

  1. Kategorie: drei Fragen stehen zur Verfügung, diese werden pro Proband zufällig angezeigt
  2. Kategorie: ...
    also müsste ich Kategorien mit Fragen erstellen, welche ich dann randomisiert anzeigen lassen kann. Aber zu jeder Kategorie muss eine Frage beantwortet werden. Ist das möglich?

außerdem: ich habe das gleiche Problem wie gerade viele (auf dieser Seite mehrfach angesprochen), dass keine Fragen hinzugefügt werden können wegen "Es konnte nicht sichergestellt werden, dass Sie die Aktion aktiv ausgelöst haben. Bitte prüfen Sie, dass Sie im korrekten Befragungsprojekt arbeiten und die angegeben Daten korrekt sind. Sofern alles in Ordnung ist, bestätigen Sie bitte noch einmal." wie bestätige ich das? beziehungsweise wie löse ich dies?

ich danke Ihnen herzlichst und wünsche einen schönen Abend!
liebe Grüße

by SoSci Survey (302k points)
> Kategorie: drei Fragen stehen zur Verfügung, diese werden pro Proband zufällig angezeigt

Möchten Sie eine der drei Fragen zeigen (Randomisierung) oder möchten Sie alle drei in unterschiedlicher Abfolge zeigen (Rotation)?

> Aber zu jeder Kategorie muss eine Frage beantwortet werden.

Meine Vermutung wäre, dass es um die Anzeige einer Frage aus mehreren geht? Wie viele solche "Pakete" haben Sie denn?

> außerdem: ich habe das gleiche Problem wie gerade viele

Dieses sollte nicht mehr auftreten. Eventuell noch in sehr selten genutzten Funktionen, aber ansonsten sollte alles wieder rund laufen.
by s181413 (120 points)
Ich möchte eine der drei Fragen pro Kategorie zeigen - und diese soll zufällig ausgewählt werden.
--> ja richtig, die Anzeige einer Frage aus den mehreren.
ich habe über 40 dieser Pakete. Mit jeweils drei Fragen
super, vielen Dank!!

1 Answer

0 votes
by SoSci Survey (302k points)
edited by SoSci Survey

ich habe über 40 dieser Pakete. Mit jeweils drei Fragen

(A) Im Prinzip könnten Sie pro Paket noch zusätzlich einen Zufallsgenerator anlegen. In diesem würden Sie die drei Fragekennungen der Rubrik hinterlegen (oder alternativ nur die Zahlen 1-3, das macht es bei 40 Paketen einfacher) und dann könnte Ihr Code für die erste Rubrik wie folgt aussehen:

$rubrik = 'AB';
$kennungRG = id($rubrik, 4);  // Der Zufallsgenerator mit Kennung ..04
question($kennungRG);  
question(id($rubrik, value($kennungRG));

Das ließe sich im Prinzip auch mit loopPage() 40-mal für alle Rubriken wiederholen.

(B) Die Alternative ist hier aber evtl. geschickter: Sie erstellen ein Array mit allen Tripeln und verwenden dann shuffle(), um jeweils eine Frage auszuwählen.

Hier der PHP-Code einer Klausur, wo wir genau das mit dfen Frage-Tripeln gemacht hatten.

// Fragen zufällig zuweisen
if (!isset($fragen)) {
    // Fragen, eine Zeile pro Frage, darin jeweils die Varianten
    $fragenMix = [
        ['AB01', 'AB02', 'AB03'],
        ['AC01', 'AC02', 'AC03'],
        // u.s.w.
    ];

    // Würfeln und speichern
    $fragen = [];
    foreach ($fragenMix as $i => $set) {
        if (($n = count($set)) > 1) {
            $u = random(1, $n) - 1;
        } else {
            $u = 0;
        }
        $frage = $set[$u];
        $fragen[] = $frage;
        // Optional die Abfolge noch in eine interne Variable IV01 mit 40 Variablen speichern
        put(id('IV01', $i+1), $frage);
    }

    registerVariable($fragen);
}


// Anzeige der Fragen z.B. so
$frage = loopPage($fragen);
question($frage);
by s181413 (120 points)
Ich danke sehr für Ihre Hilfe!
Leider bin ich sehr unerfahren und unbegildet in diesem Bereich und komme nicht weiter:
ich habe es so eingegeben und bekomme eine Fehlermeldung:
(FT01, FF01, etc. sind die einzelnen Bausteine)

if (!isset($fragen))
$fragenMix = [
 ['FT01', 'FF01', 'FK01', 'FM01', 'FN01'],
 ['FT02', 'FF02', 'FK02', 'FM02', 'FN02'],
 ['FT03', 'FF03', 'FK03', 'FM03', 'FN03'],
 ['FT04', 'FF04', 'FK04', 'FM04', 'FN04'],
];

 $fragen = [];
    foreach ($fragenMix as $i => $set) {
        if (($n = count($set)) > 1) {
            $u = random(1, $n) - 1;
        } else {
            $u = 0;
        }
        $frage = $set[$u];
        $fragen[] = $frage;
    }



$frage = loopPage($fragen);
question /$frage);


vielen Dank! :)
by SoSci Survey (302k points)
> und bekomme eine Fehlermeldung

Wie lautet diese denn?

Die Idee hinter Fehlermeldungen ist, dass sie bei der Aufdeckung des Problems helfen sollen. Das gelingt mal besser mal schlechter. Aber wenn Sie die Fehlermeldung posten, ist die Chance gut, dass ich eine hilfreiche Interpretation liefern kann.
by s181413 (120 points)
there is an error in the PHP code:

Questionnaire Error: Command or string (text) unfinished

    A command, e.g. question() is missing a semicolon or
    a string (text in quotation marks) is unclosed or
    the string itself contains an apostrophe, e.g. html('Let's do it!'); – if the latter is the case, please type in a backslash (\) first.
    Perhaps the opening and closing braces for the statement blocks are mismatched.

PHP code

021
022
023
024 $frage = loopPage($fragen);
025 question (/$frage);
026 return 'ok';
by SoSci Survey (302k points)
In der Tat, war da ein Typo in meiner Antwort. Falsch:

    question/$frage);

Richtig:

    question($frage);

Der Schrägstrich muss also weg.
by s181413 (120 points)
Dankee Sie sind mein Held!

und letzte Frage:
bei der Auswertung kann ich dann sehen, welche der zufällig ausgewählten Fragen pro Umfrage gefragt wurden, richtig?
by SoSci Survey (302k points)
Das sehen Sie im Moment (nur) daran, in welchen Variablen die Daten liegen.

Wenn Sie meiner Empfehlung mit der internen Variable und dem put() folgen, steht die Auswahl der Fragen zusätzlich noch in der internen Variable.

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

...