====== 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. * //Frage// -- Die Kennung einer Frage (als String) * //Items// -- Eine Liste (String oder Array) von Items * //Variablen// -- Eine Liste (Array) von Variablen-Kennungen entsprechend der **Variablen-Übersicht** **Hinweis:** Die Verwendung funktioniert analog zu ''[[:de:create:functions:valuesum|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 [[:de:create:array|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; }