[[Skala]]
 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:questions:scale [05.10.2018 17:52] – [Skala] adminde:create:questions:scale [09.04.2025 11:21] (aktuell) – alte Version wiederhergestellt (27.06.2024 11:17) admin
Zeile 10: Zeile 10:
  
  
-===== Kodierung der Antwortoptionen =====+===== Codierung der Antwortoptionen =====
  
 Die Auswahloptionen einer Skala erhalten automatisch die Codes 1 (Minimum) bis //k// (Maximum), wobei //k// für die Anzahl der Skalenstufen steht. Also z.B. 1 bis 5 bei einer 5er-Skala. Die Auswahloptionen einer Skala erhalten automatisch die Codes 1 (Minimum) bis //k// (Maximum), wobei //k// für die Anzahl der Skalenstufen steht. Also z.B. 1 bis 5 bei einer 5er-Skala.
Zeile 16: Zeile 16:
 ==== Items invertieren ==== ==== Items invertieren ====
  
-Die können die Kodierung einzelner Items invertieren (reversed coding), sodass eine Auswahl des Minimums (z.B. "trifft überhaupt nicht zu") nicht den Code 1, sondern den Code 5 (auf einer 5-stufigen Skala) erhält. Setzen Sie dafür entweder in der //Item-Schnelleingabe// ein Häkchen rechts vom Itemtext (⮀) oder wählen Sie das Item links in der Navigation (**Fragenkatalog**) aus und aktivieren Sie die Option //Antwortcodes für dieses Item invertieren//.+Sie können die Codierung einzelner Items invertieren (reversed coding), sodass eine Auswahl des Minimums (z.B. "trifft überhaupt nicht zu") nicht den Code 1, sondern den Code 5 (auf einer 5-stufigen Skala) erhält. Setzen Sie dafür entweder in der //Item-Schnelleingabe// ein Häkchen rechts vom Itemtext (⮀) oder wählen Sie das Item links in der Navigation (**Fragenkatalog**) aus und aktivieren Sie die Option //Antwortcodes für dieses Item invertieren//.
  
-==== Items umkodieren ====+==== Items umcodieren ====
  
-Falls Sie eine andere Kodierung benötigen (z.B. 0..4 statt 1..5), haben Sie zwei Möglichkeiten: Sie können die Items klassisch während der Auswertung umkodieren -- oder Sie können innerhalb des Fragebogens in neue Variablen umkodieren.+Falls Sie eine andere Codierung benötigen (z.B. 0..4 statt 1..5), haben Sie zwei Möglichkeiten: Sie können die Items klassisch während der Auswertung umcodieren -- oder Sie können innerhalb des Fragebogens in neue Variablen umcodieren.
  
 Dafür benötigen Sie zunächst eine Frage [[:de:create:questions:internal]] mit ebenso vielen Variablen, wie Ihre Skala Items hat. Am einfachsten erreichen Sie dies, indem Sie die Frage mit der Skala duplizieren und anschließend den Fragetyp der Kopie zu "Interne Variablen" ändern. Dafür benötigen Sie zunächst eine Frage [[:de:create:questions:internal]] mit ebenso vielen Variablen, wie Ihre Skala Items hat. Am einfachsten erreichen Sie dies, indem Sie die Frage mit der Skala duplizieren und anschließend den Fragetyp der Kopie zu "Interne Variablen" ändern.
  
-Anschließend lesen Sie mittels [[:de:create:php|PHP-Code]] und der Funktion ''[[:de:create:functions:value]]'' die Antwort des Teilnehmers in der Skala aus, nehmen die gewünschte Umkodierung vor, und speichern das Ergebnis mittels ''[[:de:create:functions:put]]'' in eine der internen Variablen an.+Anschließend lesen Sie mittels [[:de:create:php|PHP-Code]] und der Funktion ''[[:de:create:functions:value]]'' die Antwort des Teilnehmers in der Skala aus, nehmen die gewünschte Umcodierung vor, und speichern das Ergebnis mittels ''[[:de:create:functions:put]]'' in eine der internen Variablen ab.
  
 **Wichtig:** Der PHP-Code darf nicht auf derselben Seite stehen wie die Skala, sondern auf der nächsten Seite (z.B. gleich zu Beginn der folgenden Seite). Details dazu entnehmen Sie bitte den Hinweisen zur Funktion ''[[:de:create:functions:value]]''. **Wichtig:** Der PHP-Code darf nicht auf derselben Seite stehen wie die Skala, sondern auf der nächsten Seite (z.B. gleich zu Beginn der folgenden Seite). Details dazu entnehmen Sie bitte den Hinweisen zur Funktion ''[[:de:create:functions:value]]''.
Zeile 32: Zeile 32:
 === Beispiel 1 === === Beispiel 1 ===
  
-Der folgende PHP-Code kodiert alle Items der Skala "SC01" so um, dass die Kodierung 1..5 zu 0..4 transformiert wird. Die umkodierten Werte werden in den internen Variablen von "IV01" gespeichert.+Der folgende PHP-Code codiert alle Items der Skala "SC01" so um, dass die Codierung 1..5 zu 0..4 transformiert wird. Die umcodierten Werte werden in den internen Variablen von "IV01" gespeichert.
  
 <code php> <code php>
Zeile 44: Zeile 44:
   // value() ließt den Antwortcode aus   // value() ließt den Antwortcode aus
   $orgCode = value(id($input, $item));   $orgCode = value(id($input, $item));
-  // Nur positive Codes umkodieren+  // Nur positive Codes umcodieren
   if ($orgCode > 0) {   if ($orgCode > 0) {
     // Subtrahieren von 1     // Subtrahieren von 1
Zeile 64: Zeile 64:
 === Beispiel 2 === === Beispiel 2 ===
  
-Der folgende PHP-Code nimmt für jedes Item eine individuelle Umkodierung vor. Diese wird eingang in einem Array definiert. Als Schlüssel für das Array wird die Kennung des Items verwendet, also z.B. 2 für "SC01_02".+Der folgende PHP-Code nimmt für jedes Item eine individuelle Umcodierung vor. Diese wird eingang in einem Array definiert. Als Schlüssel für das Array wird die Kennung des Items verwendet, also z.B. 2 für "SC01_02".
  
-Innerhalb des Arrays sind weitere Arrays definiert (im Beispiel eins pro Zeile), welche die genaue Umkodierung festlegt. Beim zweiten Item soll z.B. der Wert 1 zu 5 werden, die Werte 2 und 3 werden zu 2, der Wert 4 wird zu 1 und die 5 wird zur 0.+Innerhalb des Arrays sind weitere Arrays definiert (im Beispiel eins pro Zeile), welche die genaue Umcodierung festlegt. Beim zweiten Item soll z.B. der Wert 1 zu 5 werden, die Werte 2 und 3 werden zu 2, der Wert 4 wird zu 1 und die 5 wird zur 0.
  
 <code php> <code php>
Zeile 82: Zeile 82:
   // Antwortcode aus der Skala abrufen   // Antwortcode aus der Skala abrufen
   $response = value(id($input, $item));   $response = value(id($input, $item));
-  // Nur umkodieren, wenn dieser Wert definiert wurde (sonst den Fehlercode -8 speichern)+  // Nur umcodieren, wenn dieser Wert definiert wurde (sonst den Fehlercode -8 speichern)
   if (isset($codes[$response])) {   if (isset($codes[$response])) {
     put(id($output, $item), $codes[$response]);     put(id($output, $item), $codes[$response]);
Zeile 90: Zeile 90:
 } }
 </code> </code>
 +
 +
 +
 +===== Darstellung auf mobilen Endgeräten =====
 +
 +Auf mobilen Endgeräten zeigt SoSci Survey bei voll beschrifteten Skalen standardmäßig nicht die kleinen Auswahlfelder, sondern große Boxen, die man mit dem Finger einfach treffen kann.
 +
 +Auf sehr kleinen Displays werden die Antwortoptionen dann vertikal angeordnet. Dabei wird -- wie man es von Lautstärkereglern kennt -- die höchste Ausprägung oben, die kleinste unten platziert. Falls Sie die Optionen lieber von unten-nach-oben anordnen möchten, passen Sie dies in der Frage bei //Weitere Einstellungen// -> //Skala// -> //Richtung der Skala// an. Die vertikale Richtung ist jeweils in Klammern angegeben.
  
  
Zeile 101: Zeile 109:
  
 Falls nicht, legen Sie mehrere Skalen-Fragen an und zeigen Sie diese im Fragebogen direkt untereinander und ohne Abstand an: [[:de:create:concat]] Falls nicht, legen Sie mehrere Skalen-Fragen an und zeigen Sie diese im Fragebogen direkt untereinander und ohne Abstand an: [[:de:create:concat]]
 +
 +
 +
 +===== Vertikale Beschriftungen =====
 +
 +Bei vollständig beschrifteten Skalen kommt es vor, dass der Platz eng wird. Meist ist es in diesem Fall sinnvoll, inhaltliche Änderungen an der Frage vorzunehmen oder einen anderen Fragetyp zu verwenden (z.B. eine Auswahlabfolge). Aber in manchen Einzelfällen kann es auch sinnvoll sein, die Beschriftungen der Skalenpunkte vertikal auszurichten.
 +
 +**Vorsicht:** Die nachfolgende Lösung funktioniert ohne weitere Anpassungen nicht korrekt auf den kleinen Bildschirmen von Mobilgeräten.
 +
 +Um Text um 90° gedreht auszurichten, ergänzen Sie zunächst im [[:de:create:layout|Fragebogen-Layout]] in der //HTML-Vorlage// im ''<style>''-Bereich zunächst folgenden CSS-Code.
 +
 +<code css>
 +div.vert {
 +    height: 100px;
 +    width: 20px;
 +    overflow: hidden;
 +    position: relative;
 +}
 +div.vert > span {
 +    display: block;
 +    position: absolute;
 +    bottom: 0;
 +    width: 100px;
 +    height: 20px;
 +    text-align: left;
 +    transform: rotate(270deg) translate(-20px, 5px);
 +    transform-origin: 0 0;
 +}
 +</code>
 +
 +Bitte beachten Sie, dass die genauen Maße - insbesondere die ''100px'' und generell ''width'' und ''height'' an die jeweilige Skala angepasst werden müssen. Alternativ zum Layout können Sie den CSS-Code auch mit dem PHP-Befehl ''[[de:create:functions:pagecss]]'' nur auf einer einzigen Seite im Fragebogen einbinden. In diesem Fall sehen Sie die Änderung aber nur im Fragebogen und nicht in der Vorschau der Frage.
 +
 +Weiterhin reduzieren Sie in der Skalenfrage die //Breite beschrifteter Werte/Spalten// auf ca. 40 Pixel.
 +
 +Zuletzt setzen Sie die Beschriftungen der Auswahloptionen in ein ''<div>'' und ein ''<span>'' Tag, wie im folgenden Beispiel:
 +
 +<code html>
 +<div class="vert"><span>Trifft überhaupt nicht zu</span></div>`
 +</code>
de/create/questions/scale.1538754765.txt.gz · Zuletzt geändert: von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki