SoSci Survey
Übersetzungen dieser Seite:
 

statistic()

mixed statistic(string Statistik, array|string Variablen, mixed Option, [boolean AlleDaten])

Mit der Funktion statistic() kann man univariate Kennwerte aus dem Datensatz ermitteln (über alle bisherigen Interviews hinweg).

  • Statistik
    Welche Statistik soll ermittelt werden?
    • '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.
  • 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).
  • AlleDaten
    Diese optionale Angabe legt fest, dass nicht nur die abgeschlossenen Interviews, sondern alle Interviews in die Statistik einfließen.

Hinweise

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 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 bereit. Der Ablauf ist folgende: Zunächst wird die Frage gestellt. Nach 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 gespeichert. Auf der Seite, die einer Frage direkt folgt, ist die Angabe zur Frage in der Statistik daher noch nicht enthalten.

Tipp: Die Funktion statistic() kann eingesetzt werden, um den Fragebogen nach erreichen einer vordefinierten Quote zu schließen (Quotierung) 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 redirect() zu einer anderen Seite umgeleitet wurden), ist es sinnvoll, die zu zählende Variable weiter hinten im Fragebogen in eine Interne Variablen zu kopieren.

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.

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:

$anzahlFrauen = statistic('count', 'SD01', 1);  // Häufigkeit Frauen (1)
$anzahlMaenner = statistic('count', 'SD01', 2); // Häufigkeit Männer (2)
$anzahlAbgesch = statistic('count', 'SD01');    // Anzahl gültiger Daten 
$anzahlAlle = statistic('count', 'SD01', false, true); // Alle Datensätze 
html('
  <p>Bisher haben an dieser Befragung '.$anzahlAlle.' Personen
  eine Angabe zu Ihrem Geschlecht gemacht, allerdings wurde das
  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

Multivariate Häufigkeit

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 als Array oder 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.

$nYoungFemale = statistic('crosscount', 'SD01,SD02', '2,1');  // Variablen und Werte als Komma-Liste ...
$nGrownFemale = statistic('crosscount', array('SD01','SD02'), array(2,2));  // ... oder als Arrays
html('
  <p>Bisher haben an dieser Befragung '.$nYoungFemale.' Personen
  angegeben, weiblich und in Altersgruppe 1 (bis 18 Jahre) zu sein.
  '.$nGrownFemale.' Frauen gaben ein Alter ab 19 Jahren an.</p>
');
question('SD01');  // Frage nach dem eigenen Geschlecht
question('SD02');  // Frage nach dem eigenen Alter

Gültige Prozent

Ausgegeben wird der Anteil eines Wertes an allen gültigen Angaben. Als drittes Argument muss der Wert angegeben werden, der gezählt werden soll.

$anteilFrauen = statistic('percent', 'SD01', 1); // Anteil der Frauen
html('
  <p>Bisher haben an dieser Befragung '.
  $anteilFrauen.' Frauen teilgenommen.</p>
');
question('SD01');  // Frage nach dem eigenen Geschlecht

Modus, häufigster angegebener Wert

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.

$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 (statistic() liefert nur den numerischen Code)
  $text = getValuetext('AB01_02', $modus);
  html('
    <p>Die häufigste Antwort auf diese Frage war: '.$text.'.</p>
  ');
}

Min, Max und Mittelwert der gültigen Angaben

Die Statistiken 'min', 'mean' und 'max' werden nur einen korrekten Wert berechnen, wenn für die Frage numerische Werte vorliegen. Bei einer Texteingabe werden Angaben, die keine Zahlen sind, ignoriert – es sei denn, als dritter Parameter wird angegeben (true), dass auch ungültige Werte in die Statistik einfließen sollen.

Sind bisher keine gültigen Werte vorhanden, wird für 'mean' 0 zurückgegeben, for 'min' und 'max' der Wert false.

$min = statistic('min', 'BB01_03');
$max = statistic('max', 'BB01_03');
$mean = statistic('mean', 'BB01_03');
html('
  <p>Die Teilnehmer haben dem Programm bisher eine
  Durchschnittsnote von '.$mean.' gegeben.</p>
  <p>Die Bewertungen liegen zwischen '.$min.' und '.$max.'.</p>
');
de/create/functions/statistic.txt · Zuletzt geändert: 30.03.2017 08:16 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