0 votes
in SoSci Survey (dt.) by s074494 (110 points)

Hallo zusammen,

ich komme leider nicht weiter. Ich habe folgende Vorlagen verwendet:

!-- Überschrift für die Abbildung -->
div class="title" style="text-align: center">%title%</div>
 
div style="position: relative">
  !-- Die Skala liegt im Hintergrund -->
  div style="margin: 0 auto; width: 400px; height: 25px; background-image:url('ofb://slider.scale.sd-blue400S')">
      !-- Zur Platzierung der Markierung wird eine Einheit (Bereich 0 bis 1) als Blockelement platziert -->
      div style="position: absolute; top: -2px; left: 50%; width: 65px; height: 27px">
        !-- Die eigentliche Markierung wird an der richtigen Stelle eingefügt -->
        img src="ofb://slider.button.rhomb" alt="" style="position: absolute; left: %z-value*100%%; margin-left: -8px" />
      /div>
  /div>
/div>


Soweit so gut. Das funktioniert auch. Nun habe ich folgenden PHP code eingefügt:**

// Wert/Ergebnis ermitteln
$value = valueMean(array('NE01_01', 'NE01_02', 'NE01_03'));
// z-Transformation
$zValue = ($value - 5) / 2.8;
// Extremwerte filtern
if ($zValue < -3) {
  $zValue = -3;
}
if ($zValue > 3) {
  $zValue = 3;
}
// Textbaustein verwenden (nur, wenn $value einen gültigen Wert geliefert hat)
if ($value > 0) {
  text('responseSD', array(
    '%title%' => 'Extraversion',
    '%z-value%' => $zValue
  ));
}

Und hier verstehe ich es nicht mehr. Ich habe hier erstmal drei items auf einer 6-stufigen Skala (im finalen Test sind es dann 6 items). Selbst bei einem maximalen Mittelwert von 6 kommt die Markierung nur ganz knapp über 0 hinaus. Wieso lautet die Formel für die Z-Transformation in der Vorlage $zValue = ($value - 5) / 2.8;? Muss ich hier etwas anpassen?Wieso -5 und /2.8?

Ich möchte, dass die Markierung auf der Skala bei einem Mittelwert von 1 ganz links ist bis hin zu einem Mittelwert von 6 ganz rechts und das bei 6 items.
Ich habe schon versucht den HTML Code so umzuschreiben, dass die Skala von 0 bis 6 geht und die Markierung anhand des Mittelwerts angezeigt wird (also ohne z-Transformation), aber das klappt auch irgendwie nicht.
Kann mir bitte jemand helfen? Es geht um meine Bachelor Arbeit :-(
Vielen Dank!**

1 Answer

0 votes
by SoSci Survey (304k points)

Fürgen Sie zur Fehlersuche bitte erstmal zwei debug() ein:

// Wert/Ergebnis ermitteln
$value = valueMean(array('NE01_01', 'NE01_02', 'NE01_03'));
// z-Transformation
$zValue = ($value - 5) / 2.8;
debug($value);
debug($zValue);

Im Debug-Modus sehen Sie nun, was überhaupt berechnet wird.

Wieso lautet die Formel für die Z-Transformation in der Vorlage $zValue = ($value - 5) / 2.8;?

Weil im Beispiel der Norm-Mittelwert der Stichprobe 5 und die Standardabweichung 2,8 ist. So funktioniert eine z-Transformation. Die Frage ist, ob Sie ein z-Transformation haben möchten/benötigen?

Ich möchte, dass die Markierung auf der Skala bei einem Mittelwert von 1 ganz links ist bis hin zu einem Mittelwert von 6 ganz rechts und das bei 6 items.

Dafür würden Sie eher schreiben:

// Wert/Ergebnis ermitteln
$value = valueMean(array('NE01_01', 'NE01_02', 'NE01_03'));
// Transformation von 1..6 auf den Wertebereich 0..1
$x = ($value - 1) / 5;
// Textbaustein verwenden (nur, wenn $value einen gültigen Wert geliefert hat)
if ($value > 0) {
  text('responseSD', array(
    '%title%' => 'Extraversion',
    '%xValue%' => $x
  ));
}

Und passend dazu dann auch einen etwas andere HTML-Code:

<div style="position: relative; margin: 0 auto; width: 400px; height: 25px; background-image:url('ofb://slider.scale.sd-blue400S')">
    <div style="width: 386px; margin: 0 auto; position: relative;">
      <img src="ofb://slider.button.rhomb" alt="" style="position: absolute; left: %xValue*100%%; margin-left: -7px" />
    </div>
</div>
by s074494 (110 points)
Hallo, ich habe es mir bereits gedacht, dass dies einfach nur angenommene Beispielwerte für Mittelwert und SD sind, aber war mir nicht sicher.
Genau, ich benötige keine z-transformation. Leider habe ich mich vertan, es handelt sich um eine 5-stufige Skala. Könnten Sie mir das noch anpassen,dann wäre ich sehr dankbar! Der Service ist wirklich klasse :-)

edit: hat sich erledigt, habe es selber angepasst!
by s065745 (220 points)
Lieber Nutzers074494,

ich habe eine ähnliche Anwendung, die ich programmieren möchte mit einer fünfer Skala. Könntest du den Code, den du für PHP und HTML für deine 5-stufige Skala verwendet hast, hier posten?

Mein Schieberegler verschiebt sich nämlich leider noch nicht, je nach valuemean.

Das wäre super.
by SoSci Survey (304k points)
> Mein Schieberegler verschiebt sich nämlich leider noch nicht, je nach valuemean.

Dann liegt das Problem vermutlich an anderer Stelle. Und zwar denke ich, das der text()-Befehl die Platzhater im Array nicht unterstützt.
by s127109 (130 points)
Lieber Nutzer s065745,
hast du es geschafft, dass sich dein Schieberegler verschieb.
Ich habe das gleiche Problem.

Gleiche Frage: Könntest du den Code, den du für PHP und HTML für deine 5-stufige Skala verwendet hast, hier posten?

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

...