0 votes
in Datenauswertung by s127109 (130 points)
edited by SoSci Survey

Liebes Support Team,

ich möchte gerne meinen Teilnehmern eine direkte Auswertung Ihrer Persönlichkeitseigenschaften liefern. Hierfür wäre die visuelle Darstellung wie in Ihrem Beispiel Extraversion unter
https://www.soscisurvey.de/help/doku.php/de:create:feedback-visual
perfekt.
Ich habe den PHP Code übernommen und bereits wie folgt angepasst:

// Wert/Ergebnis ermitteln
$value = valueMean(array('BF01_01', 'BF01_06', 'BF01_11', 'BF01_16', 'BF01_21', 'BF01_26', 'BF01_31', 'BF01_36', 'BF01_41', 'BF01_46', 'BF01_51', 'BF01_56',));
// 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) {
  show('RS01', array(
    '%title%' => 'Extraversion',
    '%zValue%' => round($zValue * 100)
  ));
}

Nun meine beiden Fragen:
1. Was hat es mi der Kennung RS01 auf sich? Wie kann ich diese für mich abändern?
2. Ich muss die Items 11, 16, 26, 31, 36, 51 und 56 rekodieren. Die Rekodierung würde lauten 6 - Rohwert. Wo und wie gebe ich das an?

Vielen Dank für Ihre Hilfe

1 Answer

0 votes
by SoSci Survey (327k points)
  1. Was hat es mi der Kennung RS01 auf sich? Wie kann ich diese für mich abändern?

Das ist die Kennung eines Textes im Fragenkatalog, welcher den HTML-Code für die eigentliche Darstellung enthält. Diesen Text bzw. HTML-Code müssen Sie anlegen, der Inhalt dafür sollte sich in der Anleitung finden.

show() funktioniert wie text(), kann aber gleich Platzhalter beinhalten ohne dass man replace() verwenden muss. Böhmische Dörfer? Einfach kurz die Funktionen text(), replace() und Platzhalter in der Anleitung nachlesen.

  1. Ich muss die Items 11, 16, 26, 31, 36, 51 und 56 rekodieren

Besser wäre es, wenn Sie die Items gleich in der Frage selbst invertieren (also das Kreuzchen dafür setzen, dass es ein reversed item ist), dann werden sie schon bei der Erhebung rekodiert.

Wenn man es manuell erledigen will, muss man calcMean()' zusammen mit vielen value()` verwenden und sicherstellen, dass fehlende Werte korrekt behandelt werden.

by s127109 (130 points)
Vielen Dank für Ihre Antwort.
Nun muss ich noch beide Platzhalter beschriften.

"Für den Platzhalter %zValue100% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt."

Ich würde die Grafik gerne genauso wie in der Anleitung haben.

Was muss ich eintragen? Vielen Dank
by SoSci Survey (327k points)
> Nun muss ich noch beide Platzhalter beschriften.

Dafür müssen die Platzhalter in show() und im HTML-Code übereinstimmen. Wenn an einer Stelle %zValue% und an der anderen %zValue100% steht, ist das ein Fehler - ich prüfe die Anleitung gleich daraufhin.
by s127109 (130 points)
Ich habe gesehen, Sie haben die Anleitung korrigiert und der Fehler verschwindet nun auch vielen Dank.
Nun wird mir leider noch keine Grafik sondern folgendes angezeigt:

<!-- Überschrift für die Abbildung -->
<div class="title" style="text-align: center">Extraversion</div>

<div style="position: relative">
<!-- Die Skala liegt im Hintergrund -->
<div style="margin: 0 auto; width: 400px; height: 25px; background-image:url(’../images/slider.sd-blue.w400h25.png’)">
<!-- 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="../images/slider.button.rhomb.png" alt="" style="position: absolute; left: -77,00%; margin-left: -8px" />
</div>
</div>
</div>

Was muss ich noch tun damit die Grafik angezeigt wird? Bitte entschuldigen Sie meine Unkenntnisse und vielen Dank für Ihre Hilfe
by SoSci Survey (327k points)
> Nun wird mir leider noch keine Grafik sondern folgendes angezeigt:

Bitte stellen Sie in der "Darstellung" für den Text ein, dass es sich nicht um Text ("einfacher Text"), sondern um HTML-Code handelt.
by s127109 (130 points)
Die Darstellung funktioniert nun, allerdings bleibt der Balken der Grafik immer Mittig stehen (egal wie der Fragebogen beantwortet wird).
Was gibt es jetzt noch zu tun?
by SoSci Survey (327k points)
Wenn Sie am Ende noch folgende Zeile einfügen ...

debug($zValue);

Was sagt denn dann die Debug-Information der Seite?
by s127109 (130 points)
Starte ich den Debug Modus erhalte ich folgende Ausgabe:

[Verarbeitung]    Erstelle Seite 7 in Fragebogen base
debug()    Inhalt: $zValue = -1.7857142857143 (double)
debug()    Inhalt: $zValue = -1.7857142857143 (double)
debug()    Inhalt: $zValue = -1.7857142857143 (double)
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr.
[Verarbeitung]    Erstelle die letzte Seite des Fragebogens
by SoSci Survey (327k points)
Der HTML-Code (Textbaustein) für die Anzeige steht auf Seite 7? Er muss auf jeden Fall unter dem replace() stehen.
by s127109 (130 points)
Was meinen Sie mit dem replace()?
Wo muss ich den HTML-Code platzieren? Ist damit der HTML-Code im Fragenkatalog oder muss der HTML Code zusätzlich beim Fragebogen zusammenführen als flexiblem Element nochmal eingeschoben werden?

Gerne sende ich Ihnen einen Pretest damit Sie sich ein Bild machen können?
Vielen Dank
by SoSci Survey (327k points)
> Was meinen Sie mit dem replace()?

Den PHP-Code, den Sie haben. Dort kommt u.a. ein replace()-Befehl vor.

Der PHP-Code muss nach oben, der HTML-Code darunter.
by s127109 (130 points)
Es tut mir wirklich Leid aber jetzt bekomme ich folgendes:

Für den Platzhalter %title% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt.

Für den Platzhalter %zValue100% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt.

Ich habe mich zuvor 100% an die Anleitung für die Visuelle Darstellung gehalten
https://www.soscisurvey.de/help/doku.php/de:create:feedback-visual
by SoSci Survey (327k points)
Entschuldigung - ich war etwas verwirrt, meine Hinweise waren falsch. Natürlich kümmert sich das show() um die Anzeige des Textes, Sie brauchen diesen nicht (!) nochmal einzubinden. Mein Fehler.

Wenn das debug() schonmal einen Wert anzeigt, ist das gut. Könnten Sie vielleicht mal bis zu der Anzeige des Wertes klicken und den Link in der Adresszeile des Browsers dann posten? Dann kann ich mir den HTML-Code der Seite ansehen und schauen, warum die Anzeige nicht wandert.
by s127109 (130 points)
Der Link ist nach dem durchklicken des Fragebogens:
https://www.soscisurvey.de/Erfolg-Networking/index.php?i=ZZJDYR7KIRR1&rnd=TSPV

Der  zweite Link ist mit den Debug Informationen:
https://www.soscisurvey.de/Erfolg-Networking/?act=auLN8BOxe4Crip4HAV6sXgSO
by SoSci Survey (327k points)
Danke für den Link - das Problem war schnell zu finden. Und zwar wir die Dezimalzahl mit einem Komma ausgegeben, was der Browser nicht versteht.

Bitte ergänzen Sie testweise ein (int) vor dem round(), also:

(int)round($zValue * 100)

Wenn das hilft, sagen Sie bitte kurz Bescheid, damit ich es in der Anleitung anpassen kann.

Die "korrekte" Formatierung von Komma-Zahlen in der Ausgabe ist eigentlich eine hübsche Funktion. Nur im vorliegenden Fall sorgt sie für Probleme, weil Browser mit dem "deutschen" Komma nichts anfangen können.

Warum Dezimalzahl, wenn doch gerundet wird? Weil round() zwar rundet, aber den gerundeten Wert aus technischer Sicht wieder als Fließkommazahl liefert...
by s127109 (130 points)
Super, vielen Dank so funktioniert es.
Sie können es in die Anleitung übernehmen
by s127109 (130 points)
Nun besteht noch folgendes Problem:
umso mehr eine Persönlichkeitseigenschaft zutrifft, desto mehr tendiert der Anzeiger in die Mitte.
Ich möchte es gerne so programmieren, dass umso größer die Zustimmung, desto weiter nach rechts der Regler und umgekehrt.
Was gibt es noch zu tun? Vielen Dank
by SoSci Survey (327k points)
Nun Ihre Berechnung des Anzeigewerts erfolgt hier:

$zValue = ($value - 5) / 2.8;

Sie erinnern sich sicher noch an die Berechnung des z-Werts: Mittelwert subtrahieren und durch die Standardabweichung dividieren. Wenn Sie keinen Vergleichswert für den Mittelwert haben, können Sie das theoretische Skalenmittel verwenden. Auf einer 5er-Skala ist das 3.

Was die Standardabweichung angeht: Ich habe viele Skalen mit einer Standardabweichung im Bereich 0,8 bis 1,2 gesehen. Aber wo Ihre Skala liegt, könnten Sie nur anhand empirischer Daten oder Verleichsdaten aus einer anderen Studie herausfinden.

$zValue = ($value - 3) / 1.0;

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

...