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.
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'); }
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])
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' ])
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; }