Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:create:functions:statistic [01.04.2019 22:46] – [statistic()] adminde:create:functions:statistic [01.04.2019 23:00] – [Teildatensätze auswerten] admin
Zeile 14: Zeile 14:
     * '''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. Als zweitere Parameter können zur Beschleunigung (optional) //Variablen// angegeben werden, die in nachfolgenden Aufrufen benötigt werdenDie Filterbedingung wird als String als //Option// angegeben, erlaubt sind gängige Vergleichsoperatoren und Bool'sche Operatoren, z.B. '''(AB01 == 2AND (BC02 > 3)'''. Neben den Variablennamen können auch ''QUESTNNR'', ''CASE'' und ''LANGUAGE'' verwendet werden.+    * '''filter''' -- Legt fest, welche Fälle bei weiteren Aufrufen der Funktion ''statistic()'' verwendet werden sollen (Details s[[#teildatensaetze_auswerten|unten]]).
  
   * //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.
Zeile 129: Zeile 129:
   <p>Die Bewertungen liegen zwischen '.$min.' und '.$max.'.</p>   <p>Die Bewertungen liegen zwischen '.$min.' und '.$max.'.</p>
 '); ');
 +</code>
 +
 +
 +===== Teildatensätze auswerten =====
 +
 +Mittels ''statistic('filter', ...)'' kann ein Filter gesetzt werden, der für alle weiteren Aufrufe von ''statistic()'' angewendet wird.  Als zweiter Parameter können zur Beschleunigung (optional) //Variablen// angegeben werden, die in nachfolgenden Aufrufen benötigt werden.
 +
 +Zurückgegeben wird die Anzahl der Fälle, welche dem Filter entsprechen. Der vierte Parameter //AlleDaten// hat nur Auswirkungen auf den Rückgabewert, nicht aber auf die weitere Zählung.
 +
 +<code php>
 +// 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');
 +// Mittelwert der Ratings (nur Frauen)
 +$mean1 = statistic('mean', 'RT02_01');
 +$mean2 = statistic('mean', 'RT02_02');
 +$mean3 = statistic('mean', 'RT02_03');
 +</code>
 +
 +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>
 +// Statistik nur über weibliche Teilnehmer (SD02 = 1) ab 35 Jahren (SD03 >= 35)
 +$n = statistic('filter', false, '(SD02==1) AND (SD03 >= 35)');
 +</code>
 +
 +Neben den Variablennamen können für den Filter auch ''QUESTNNR'', ''CASE'' und ''LANGUAGE'' verwendet werden.
 +
 +<code php>
 +// Statistik nur über weibliche Teilnehmer (SD02 = 1) ab 35 Jahren (SD03 >= 35) in der deutschen Sprachversion
 +$n = statistic('filter', false, '(SD02==1) AND (SD03 >= 35) AND (LANGUAGE == "ger")');
 </code> </code>
de/create/functions/statistic.txt · Zuletzt geändert: 08.03.2024 10:57 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