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:functions:statistic [01.04.2019 22:58] adminde:create:functions:statistic [08.03.2024 10:57] (aktuell) – [Teildatensätze auswerten] admin
Zeile 6: Zeile 6:
  
   * //Statistik//\\ Welche Statistik soll ermittelt werden?   * //Statistik//\\ Welche Statistik soll ermittelt werden?
-    * '''count''' -- Die Häufigkeit des Wertes auszählen, der als ''//Option//'' angegeben ist. +    * ''%%'count'%%'' -- Die Häufigkeit des Wertes auszählen, der als ''//Option//'' angegeben ist. 
-    * '''percent''' -- Prozentualer Anteil des Wertes, der als ''//Option//'' angegeben ist.+    * ''%%'percent'%%'' -- Prozentualer Anteil des Wertes, der als ''//Option//'' angegeben ist
 +    * ''%%'frequencies'%%'' -- Häufigkeiten für alle Antwortcodes im Datensatz (als Array).
     * '''crosscount''' -- Die Häufigkeit des gemeinsamen Auftretens von zwei Werten in zwei Variablen auszählen. Die beiden Variablen sind als Array (oder durch ein Komma getrennt) anzugeben, ebenso deren Werte, die als ''//Option//'' angegeben werden.     * '''crosscount''' -- Die Häufigkeit des gemeinsamen Auftretens von zwei Werten in zwei Variablen auszählen. Die beiden Variablen sind als Array (oder durch ein Komma getrennt) anzugeben, ebenso deren Werte, die als ''//Option//'' angegeben werden.
     * '''mode''' -- Häufigster vorkommender Wert.     * '''mode''' -- Häufigster vorkommender Wert.
Zeile 13: Zeile 14:
     * '''max''' -- Größter Wert.     * '''max''' -- Größter Wert.
     * '''mean''' -- Arithmetisches Mittel der Werte.     * '''mean''' -- Arithmetisches Mittel der Werte.
-    * '''groupmean''' -- Arithmetisches Mittel der Werte einer Teilgruppe, welche durch //Option// definiert wird, angegeben als Sting bestehend aus Variablenname und Code für die zu zählenden Fälle '''AB01=2'''+    * '''groupmean''' -- Arithmetisches Mittel der Werte einer Teilgruppe, welche durch ''//Option//'' definiert wird, angegeben als Sting bestehend aus Variablenname und Code für die zu zählenden Fälle '''AB01=2'''
-    * '''filter''' -- Legt fest, welche Fälle bei weiteren Aufrufen der Funktion ''statistic()'' verwendet werden sollen (Details s. [[#teildatensaetze_auswerten|unten]]).+    * '''filter''' -- Legt fest, welche Fälle bei weiteren Aufrufen der Funktion ''statistic()'' verwendet werden sollen (Details s. unten [[#teildatensaetze_auswerten|bottom]]).
  
-  * //Variablen//\\ Legt fest, für welche Variable(n) die Statistik berechnet werden soll. Die Kennungen der einzelnen Variablen findet man in der **Variablen-Übersicht**. Falls die Statistik mehrere Variabeln benötigt, können diese entweder als Komma-separierter String oder als Array angegeben werden.+  * //Variablen//\\ Legt fest, für welche Variable(n) die Statistik berechnet werden soll. Die Kennungen der einzelnen Variablen findet man in der Variablen-Übersicht. Falls die Statistik mehrere Variabeln benötigt, können diese entweder als Komma-separierter String oder als Array angegeben werden.
   * //Option//\\ Einige Statistiken benötigen oder erlauben eine dritte Angabe, die mit diesem Parameter angegeben wird (s. unten).   * //Option//\\ Einige Statistiken benötigen oder erlauben eine dritte Angabe, die mit diesem Parameter angegeben wird (s. unten).
   * //AlleDaten//\\ Diese optionale Angabe legt fest, dass nicht nur die abgeschlossenen Interviews, sondern alle Interviews in die Statistik einfließen.   * //AlleDaten//\\ Diese optionale Angabe legt fest, dass nicht nur die abgeschlossenen Interviews, sondern alle Interviews in die Statistik einfließen.
 +
  
 ===== Hinweise ===== ===== Hinweise =====
Zeile 26: Zeile 28:
 **Wichtig:** Testdaten aus der Fragebogen-Entwicklung und dem Pretest werden nur dann mitgezählt, wenn das laufende Interview ebenfalls Teil des Tests ist. Wenn das Interview im Rahmen der regulären Datenerhebung durchgeführt wird, zählt ''statistic()'' nur Daten aus der regulären Datenerhebung. **Wichtig:** Testdaten aus der Fragebogen-Entwicklung und dem Pretest werden nur dann mitgezählt, wenn das laufende Interview ebenfalls Teil des Tests ist. Wenn das Interview im Rahmen der regulären Datenerhebung durchgeführt wird, zählt ''statistic()'' nur Daten aus der regulären Datenerhebung.
  
-**Hinweis:** Die Daten aus dem aktuellen Interview liegen erst nach zweimaligem Klick auf "Weiter" zur Analyse bereitDer Ablauf ist folgendeZunächst wird die Frage gestelltNach dem Klick auf "Weiter" werden die Antworten eingelesen (aber noch nicht gespeichert), dann wird die nächste Seite aufgebaut und erst dann werden die Daten gespeichertAuf der Seitedie einer Frage direkt folgtist die Angabe zur Frage in der Statistik daher noch nicht enthalten.+**Hinweis:** Die Daten aus dem aktuellen Interview werden von ''statistic()'' nicht berücksichtigt. 
 + 
 +**Hinweis:** Die Verwendung von ''statistic()'' kann ineffizient seinFalls der Fragebogen den Gesamtdatensatz in mehreren ''statistic()''-Aufrufen mehrfach durchsuchen muss, wird zunächst eine Warnung angezeigtBei mehr als 10 rechenaufwändigen Aufrufen liefert ''statistic()'' keine Ergebnisse mehr. Verwenden Sie ''statistic('load'...)''um die Daten vorab zu laden, um dieses Problem zu vermeiden.
  
 **Tipp:** Die Funktion ''statistic()'' kann eingesetzt werden, um den Fragebogen nach erreichen einer vordefinierten Quote zu schließen ([[:de:survey:quota]]) und weiteren Teilnehmern entweder eine Meldung anzuzeigen oder sie zum Quotenstopp-Link eines Panel-Anbieters umzuleiten. **Tipp:** Die Funktion ''statistic()'' kann eingesetzt werden, um den Fragebogen nach erreichen einer vordefinierten Quote zu schließen ([[:de:survey:quota]]) und weiteren Teilnehmern entweder eine Meldung anzuzeigen oder sie zum Quotenstopp-Link eines Panel-Anbieters umzuleiten.
  
-**Tipp:** Möchte man nicht alle abgeschlossenen Interview zählen (z.B. wenn Abbrecher mittels ''[[:de:create:functions:redirect]]'' zu einer anderen Seite umgeleitet wurden), ist es sinnvoll, die zu zählende Variable weiter hinten im Fragebogen in eine [[:de:create:questions:internal]] zu kopieren.+**Tipp:** Möchte man nicht alle abgeschlossenen Interviews zählen (z.B. wenn Abbrecher mittels ''[[:de:create:functions:redirect]]'' zu einer anderen Seite umgeleitet wurden), ist es sinnvoll, die zu zählende Variable weiter hinten im Fragebogen in eine [[:de:create:questions:internal]] zu kopieren.
  
  
  
-===== Häufigkeitsauszählung =====+===== Häufigkeitsauszählung =====
  
 Als drittes Argument bei einer Häufigkeitsauszählung ('''count''') kann man angeben, für welchen Wert man die Häufigkeit bestimmen möchte. Gibt man keinen dritten Wert an, wird die Anzahl gültiger Antworten ausgegeben. Fehlende Daten werden dabei nicht mitgezählt. Als drittes Argument bei einer Häufigkeitsauszählung ('''count''') kann man angeben, für welchen Wert man die Häufigkeit bestimmen möchte. Gibt man keinen dritten Wert an, wird die Anzahl gültiger Antworten ausgegeben. Fehlende Daten werden dabei nicht mitgezählt.
Zeile 49: Zeile 53:
   eine Angabe zu Ihrem Geschlecht gemacht, allerdings wurde das   eine Angabe zu Ihrem Geschlecht gemacht, allerdings wurde das
   Interview nur in '.$anzahlAbgesch.' Fällen auch abgeschlossen.</p>   Interview nur in '.$anzahlAbgesch.' Fällen auch abgeschlossen.</p>
 +  <p>Die abgeschlossenen Interviews umfassen '.
 +  $anzahlFrauen.' Frauen und '.
 +  $anzahlMaenner.' Männer.</p>
 +');
 +question('SD01');  // Frage nach dem eigenen Geschlecht
 +</code>
 +
 +
 +===== Häufigkeitsauszählung II =====
 +
 +Die ''%%'frequencies'%%''-Statistik liefert alle möglichen Werte mit einem Aufruf.
 +
 +**Hinweis:** Beachten Sie, dass das Array nur Einträge zu den Antwortcodes beinhaltet, deren Antworten im Datensatz mindestens einmal vorliegen. Prüfen sie daher, ob der Aray-Schlüssel vorhanden ist. Dies ist z.B. mit dem ''??'' Operator möglich.
 +
 +<code php>
 +$freq = statistic('frequencies', 'SD01');  // Häufigkeiten
 +$anzahlFrauen = ($freq[1] ?? 0);
 +$anzahlMaenner = ($freq[2] ?? 0);
 +html('
   <p>Die abgeschlossenen Interviews umfassen '.   <p>Die abgeschlossenen Interviews umfassen '.
   $anzahlFrauen.' Frauen und '.   $anzahlFrauen.' Frauen und '.
Zeile 140: Zeile 163:
 <code php> <code php>
 // Statistik nur über weibliche Teilnehmer (SD02 = 1) // Statistik nur über weibliche Teilnehmer (SD02 = 1)
 +// Die RT-Variablen werden gleich geladen, um Latenzzeiten zu reduzieren
 $n = statistic('filter', array('RT02_01', 'RT02_02', 'RT02_03'), 'SD02==1'); $n = statistic('filter', array('RT02_01', 'RT02_02', 'RT02_03'), 'SD02==1');
 // Mittelwert der Ratings (nur Frauen) // Mittelwert der Ratings (nur Frauen)
Zeile 148: Zeile 172:
  
 Der Filter erlaubt gängige Vergleichsoperatoren (''>'', ''>='', ''<'', ''%%<=%%'', ''!='', ''==''), Klammern und und Bool'sche Operatoren (''AND'', ''&&'', ''OR'', ''||'', ''NOT'', ''!''). Der Filter erlaubt gängige Vergleichsoperatoren (''>'', ''>='', ''<'', ''%%<=%%'', ''!='', ''==''), Klammern und und Bool'sche Operatoren (''AND'', ''&&'', ''OR'', ''||'', ''NOT'', ''!'').
 +
 +**Hinweis:** Vergleiche sind jeweils nur zwischen einer Variable und einem konstanten Wert (eine Zahl oder ein String) möglich, z.B. ''SD02==2'', Vergleiche zwischen zwei Variablen (''SD03>SD04'') werden nicht unterstützt.
  
 <code php> <code php>
Zeile 160: Zeile 186:
 $n = statistic('filter', false, '(SD02==1) AND (SD03 >= 35) AND (LANGUAGE == "ger")'); $n = statistic('filter', false, '(SD02==1) AND (SD03 >= 35) AND (LANGUAGE == "ger")');
 </code> </code>
 +
 +Für den Vergleich mit Texten müssen selbige in Anführungszeichen stehen. Folgender Code würde z.B. alle Fälle betrachten, welche dieselbe Referenz (REF) haben wie das aktuelle Interview.
 +
 +<code php>
 +$n = statistic('filter', false, 'REF=="'.reference().'"');
 +</code>
 +
 +Der Punkt fügt hier das ''%%REF=="%%'' mit der aktuellen Referenz und einem schließenden Anführungszeichen zusammen. Wenn das aktuelle Inteview mit der Referenz ''ABC'' gestartet wurde, wird der dritte Parameter also zu ''%%REF="ABC"%%'' berechnet.
de/create/functions/statistic.1554152284.txt.gz · Zuletzt geändert: 01.04.2019 22:58 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