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

Guten Tag,

ich möchte gerne um die 30 Fotos auf einer Skala bewerten lassen. Die Reihenfolge der angezeigten Bilder soll randomisiert erfolgen, was ich schon mit "Shuffle" machte.
Nun möchte ich aber auch am Ende gerne zuordnen können, welche Bewertung zu welchem Bild gehört. Dazu wurde mir angezeigt, dass ich "put" verwenden soll.
Im Hilfskatalog wurden mir viele Optionen angezeigt, die wohl passendste scheint jene zu sein, in der die Ränge der Elemente angezeigt werden.
Also:

for ($i=0; $i<count($elements); $i++) {
  // Kennung der internen Variable aus Frage-Kennung plus Inhalt des Elements (!) erstellen
  $id = id('**IV01**', **$elements**[$i]);
  // Hier den Rang speichern
  put($id, $i + 1);
}

Dass ich bei "IV01" meine ganzen Kennungen eingeben muss ist mir klar. Doch weiß ich nicht, was unter anderem bei $elements hin soll, das wird mir immer als Fehlmeldung angezeigt.

Könnten Sie mir bitte helfen, indem Sie mir verraten, ob durch den genannten PHP Code die Bewertungen zu den Bildern so korrekt gespeichert werden und außerdem, was ich noch ausfüllen muss (neben $elements) damit es funktioniert?

Ich freue mich sehr auf eine Antwort.
Viele Grüße

1 Answer

0 votes
by SoSci Survey (306k points)

ich möchte gerne um die 30 Fotos auf einer Skala bewerten lassen. Die Reihenfolge der angezeigten Bilder soll randomisiert erfolgen

Sorgen Sie unbdeingt (!) dafür, dass zum Bild Nr. 1 (egal wann es kommt) immer die Frage bzw. da Item Nr. 1 angezeigt wird.

Wenn Sie das erst in der Auswertung zuordnen möchten, werden Sie kirre.

das wird mir immer als Fehlmeldung angezeigt.

Bitte posten Sie immer vollständige Fehlermeldungen im Wortlaut.

PHP-Code kann man übrigens im Online-Support mit der Taste {} als solchen formatieren.

Bitte ergänzen Sie auch den kompletten von Ihnen für die Rotation verwendeten PHP-Code, dann kann ich gerne konkret auf Ihren Anwendungsfall hin antworten.

by s107888 (130 points)
Hallo,
danke für die schnelle Rückmeldung!

Also zum ersten Bild: Wenn das z.B. eine Sonne ist, sollte ich dann jeden Teilnehmer immer die Sonne zuerst bewerten lassen und der Rest erfolgt dann erst randomisiert?
In dem Fall würde ich es also aus dem shuffle rausnehmen und vor den dafür vorgesehenen PHP code setzen?

Für die Rotation habe ich gerade das stehen (die "G; M; N; T" stehen dabei für meine Kategorien der Bilder, damit ich einen überblick behalte -soll ich dabei lieber konkret von 1-30 nummerieren?):

if (!isset($seiten)) {
  // Liste der Seiten definieren
  $seiten = array('G1','G2','G3','G4','G5','G6','M1','M2','M3','M4','M5','M6','M7','M8','M9','M10','N1','N2','N3','N4','N5','N6','T1','T2','T3','T4','T5','T6','T7','T8');
  // Liste mischen
  shuffle($seiten);
  // Die Seite ergänzen, wo es nachher weiter geht
  $seiten[] = 'end';
  // Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
  registerVariable($seiten);
}
setPageOrder($seiten);


Der Fehlercode lautet momentan wie folgt:

Im PHP-Code trat ein Fehler auf.
Fehler im Fragebogen: Die PHP-Variable $elements wurde verwendet, in diesem PHP-Code aber noch nicht definiert (sie enthält noch keinen Wert).

PHP-Code

001 namespace s2survey\questionnaire\environment;
002
003 for ($i=0; $i<count($elements); $i++) {
004   
005   $id = id('G1','G2','G3','G4','G5','G6','M1','M2','M3','M4','M5','M6','M7','M8','M9','M10','N1','N2','N3','N4','N5','N6','T1','T2','T3','T4','T5','T6','T7','T8', $elements[$i]);
006   
Fehler im Fragebogen: count(): Parameter must be an array or an object that implements Countable
Zeile: 3

PHP-Code

001 namespace s2survey\questionnaire\environment;
002
003 for ($i=0; $i<count($elements); $i++) {
004   
005   $id = id('G1','G2','G3','G4','G5','G6','M1','M2','M3','M4','M5','M6','M7','M8','M9','M10','N1','N2','N3','N4','N5','N6','T1','T2','T3','T4','T5','T6','T7','T8', $elements[$i]);
006   

Ich hoffe, Sie sehen da durch und freue mich auf Ihre Antwort.

Viele Grüße
by SoSci Survey (306k points)
Danke für die Details - damit kann ich arbeiten :)

Nachdem Sie Bilder und dazugehörige Fragen (oder Items?) haben, sollten Sie das gemeinsam mischen. Dazu nochmal kurz die Nachfrage: Sind es Items oder komplette Fragen, die Sie zu jedem Bild anzeigen? Und welche Kennungen haben diese?
by s107888 (130 points)
Super :)

Ich bin mir gerade aber nicht ganz sicher, was der Unterschied ist zwischen kompletten Fragen und Items. Also zu jedem Foto gibt es jeweils Items die auf einer Skala abfragen, wie die Probanden das jeweilige Foto fanden.
In dem Sinne: "Ich fand das Foto..." und dann kommen die Wahlmöglichkeiten mit "traurig; glücklich; ..." auf einer Skala von 1-5.

Die Kennung ist dabei "FK" und da mir angezeigt wurde, dass ich wohl für jedes Foto eine neue Frage bräuchte, habe ich diese jeweils dupliziert, sodass ich "FK01; FK02; FK03; ..." habe.
by SoSci Survey (306k points)
> sodass ich "FK01; FK02; FK03; ..." habe.

Okay. Und ich habe oben gesehen, dass Sie mit setPageOrder() arbeiten. Das heißt, auf Seite G1 wird immer ein bestimmtes Bild (G1) zusammen mit einer bestimmten Frage (z.B. FK01) gezeigt, ja?

Dann ist soweit alles in Ordnung und Sie brauchen eigentlich gar nichts mehr zu speichern. Außer, wenn Sie noch Reihenstellungseffekte in der Auswertung untersuchen möchten. Wenn Sie das wollten, müssten Sie statt $elements die Variable $seiten verwenden.

Eleganter (nämlich nur mit einer Seite statt mit vielen) ließe sich das Ganze noch mit folgender Anleitung lösen: https://www.soscisurvey.de/help/doku.php/de:create:rotation#fragen_zusammen_mit_weiterem_inhalt_rotieren
by s107888 (130 points)
Genau, pro Bild eine zugeordnete Frage (auch wenn die Fragen letztendlich immer die selben sind).

Also muss ich put() nicht einbauen, sondern bleibe einfach nur bei shuffel und alles wird korrekt gespeichert? Also so, dass ich am Ende die Antworten dem jeweiligen Bild zuordnen kann?

Ich bedanke mich auf jeden Fall schon mal für Ihre bisherigen Antworten!
by SoSci Survey (306k points)
> Also so, dass ich am Ende die Antworten dem jeweiligen Bild zuordnen kann?

Ja, so sollte es sein.

Testen Sie es bitte einfach einmal: Füllen Sie den Fragebogen für die ersten 5 Bilder aus. Notieren Sie, welches Bild welche Bewertung bekommt. Und prüfen Sie im Datensatz, ob die Bewertungen in den richtigen Variablen (passend zum bewerteten Bild) stehen.
by s107888 (130 points)
Ich hab es ausprobiert und es scheint endlich alles zu klappen. :)

Vielen Dank für Ihre Geduld und Hilfe!

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

...