====== 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;
}