Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
de:create:functions:statistic [01.04.2019 22:46] – [statistic()] admin | de:create:functions:statistic [01.04.2019 23:00] – [Teildatensätze auswerten] admin |
---|
* '''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 werden. Die Filterbedingung wird als String als //Option// angegeben, erlaubt sind gängige Vergleichsoperatoren und Bool'sche Operatoren, z.B. '''(AB01 == 2) AND (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. |
<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> |