Inhaltsverzeichnis

valueMean()

float valueMean(string Frage)

float valueMean(string Frage, string|array Items)

float valueMean(array Variablen)

Berechnet das arithmetische Mittel (Durchschnitt, Erwartungswert) über die Antwortcodes für alle Items einer Frage (z.B. einer Skala) oder für eine Liste von Variablen.

Hinweis: Die Verwendung funktioniert analog zu valueSum() – dort werden die Parameter ausführlich anhand von Beispielen dargestellt.

Beispiel: Filter

Im folgenden Beispiel wird Frage „AB02“ nach dann angezeigt, wenn der Mittelwert in der Skala „AB01“ mindestens 1,5 beträgt.

$mean = valueMean('AB01');
if ($mean >= 1.5) {
  question('AB02');
}

Beispiel: Items

Der folgende PHP-Code berechnet den Mittelwert der Items 2, 4, 6, 8 und 10 in der Frage AB02.

valueMean('AB01', [2, 4, 6, 8, 10])

Beispiel: Variablen

Der folgende PHP-Code berechnet den Mittelwert aus den Variablen AB03_01, AB03_02, BB01_02 und BB01_04.

valueMean(['AB03_01', 'AB03_02', 'BB01_02', 'BB01_04'])

Ob ein Array in einer Zeile oder über mehrere Zeilen definiert werden, ist für die Funktion unerheblich, kann aber die Übersichtlichkeit verbessern.

valueMean([
    'AB03_01', 'AB03_02',
    'BB01_02', 'BB01_04'
])

Beispiel: Gewichtung

Einen gewichteten Mittelwert können Sie nicht über valueMean() berechnen, aber mithilfe einer FOR-Schleife und einfacher Rechenoperationen ist auch ein solcher gewichteter Mittelwert mittels PHP einfach zu berechnen.

$weights = [
    'AB03_01' => 1.1,
    'AB03_02' => 1.4,
    'BB01_02' => 0.7,
    'BB01_04' => 0.8
];
$sumValue = 0;
$sumWeight = 0;
 
foreach ($weights as $varID => $weight) {
    $val = (float)value($varID);
    // Fehlende Daten (≤0) ausschließen
    if ($val > 0) {
        $sumValue+= $val * $weight;
        $sumWeight+= $weight;
    }
}
 
// Mittelwert = Summe dividiert durch Anzahl
if ($sumWeight == 0) {
  $mean = -1;  // No data
} else {
  $mean = $sumValue / $sumWeight;
}