Dies ist eine alte Version des Dokuments!
mixed statistic(string Statistik, string Variablen, mixed Option, [boolean AlleDaten])
Mit der Funktion statistic() kann man einige univariate Kennwerte bestimmen: Mittelwert, Modus oder Häufigkeiten.
'count
' – Die Häufigkeit des Wertes auszählen, der als Option
angegeben ist.'percent
' – Prozentualer Anteil des Wertes, der als Option
angegeben ist.'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.'min
' – Kleinster Wert.'max
' – Größter Wert.'mean
' – Arithmetisches Mittel der Werte.Wichtig: In die Berechnung der statistischen Werte werden nur abgeschlossene Interviews aufgenommen, wenn für den Parameter allData nicht explizit true angegeben wird.
Wichtig: Testdaten aus der Fragebogen-Entwicklung und dem Pretest werden nur 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.
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.
Hat man beispielsweise eine Auswahl für das Geschlecht (1=weiblich, 2=männlich, -9=keine Angabe), so kann man die Anzahl der Frauen mit Angabe des dritten Wertes 1 ermitteln:
PHP-Code
$anzahl_frauen = statistic('count', 'SD01', 1); // Häufigkeit Frauen (1) $anzahl_maenner = statistic('count', 'SD01', 2); // Häufigkeit Männer (2) $anzahl_abgesch = statistic('count', 'SD01'); // Anzahl gültiger Daten $anzahl_all = statistic('count', 'SD01', false, true); // Alle Datensätze html(' <p>Bisher haben an dieser Befragung '.$anzahl_all.' Personen eine Angabe zu Ihrem Geschlecht gemacht, allerdings wurde das Interview nur in '.$anzahl_abgesch.' Fällen auch abgeschlossen.</p> <p>Die abgeschlossenen Interviews umfassen '. $anzahl_frauen.' Frauen und '. $anzahl_maenner.' Männer.</p> '); question('SD01'); // Frage nach dem eigenen Geschlecht
Mit der crosscount-Statistik kann man (wie in einer Kreuztabelle) die Fälle auszählen, bei denen mehrere Variablen zutreffen.
Anstatt einer einzelnen Variable gibt man hier 2 oder mehr Variablen durch ein Komma (,) getrennt an. Als dritten Parameter Option gibt man an, welche Werte für jede Variable gezählt werden. Gezählt werden nur Fälle, die für die erste Variable den ersten Wert, für die zweite Variable den zweiten Wert, u.s.w. angegeben haben.
PHP-Code
$anzahl_junge_frauen = statistic('crosscount', 'SD01,SD02', '2,1'); // Variablen und Werte als Komma-Liste ... $anzahl_erw_frauen = statistic('crosscount', array('SD01','SD02'), array(2,2)); // ... oder als Arrays html(' <p>Bisher haben an dieser Befragung '.$anzahl_junge_frauen.' Personen angegeben, weiblich und in Altersgruppe 1 (bis 18 Jahre) zu sein. '.$anzahl_erw_frauen.' Frauen gaben ein Alter ab 19 Jahren an.</p> '); question('SD01'); // Frage nach dem eigenen Geschlecht question('SD02'); // Frage nach dem eigenen Alter
Ausgegeben wird der Anteil eines Wertes an allen gültigen Angaben. Als drittes Argument muss der Wert angegeben werden, der gezählt werden soll.
PHP-Code
$anteil_frauen = statistic('percent', 'SD01', 1); // Anteil der Frauen html(' <p>Bisher haben an dieser Befragung '. $anteil_frauen.' Frauen teilgenommen.</p> '); question('SD01'); // Frage nach dem eigenen Geschlecht
Gibt den Wert zurück, der bisher am häufigsten ausgewählt wurde. Wenn mehrere Werte gleich häufig ausgewählt wurden, dann werden diese durch ein Komma getrennt zurückgegeben.
Als drittes Argument (in diesem Fall vom Typ Boolean) kann man angeben, ob auch ungültige Werte (keine Antwort, etc.) mitgezählt werden.
PHP-Code
$modus = statistic('mode', 'AB01_02', true); $modi = explode(',', $modus); // Mehrere Werte trennen if (count($modi) > 1) { // Mehrere häufigst genannte Werte html(' <p>Mehrere Antworten wurden gleich oft gewählt.</p> '); } else { // Texte der Antwortoptionen - zurückgegeben wird nur // der numerische Code $optionen = array( 1 => 'stimme gar nicht zu', 2 => 'stimme eher nicht zu', 3 => 'stimme eher zu', 4 => 'stimme voll zu', -1 => 'kann ich nicht sagen' ); html(' <p>Die häufigste Antwort auf diese Frage war: '. $optionen[$modus].'</p> '); }
Diese Statistik wird natürlich nur einen korrekten Wert berechnen, wenn für die Frage numerische Werte vorliegen. Bei einer Texteingabe werden Angaben, die keine Zahlen sind, ignoriert.
Sind bisher keine gültigen Werte vorhanden, wird 0 zurückgegeben.
PHP-Code
$mean = statistic('mean', 'BB01_03'); html(' <p>Die Teilnehmer haben dem Programm bisher eine Durchschnittsnote von '.$mean.' gegeben.</p> ');