Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:functions:valuemean [16.01.2015 10:20] – ausgelagert aus functions-stat adminde:create:functions:valuemean [20.01.2022 16:54] (aktuell) – [Beispiel: Gewichtung] admin
Zeile 16: Zeile 16:
  
  
-===== Beispiel =====+===== Beispiel: Filter =====
  
 Im folgenden Beispiel wird Frage "AB02" nach dann angezeigt, wenn der Mittelwert in der Skala "AB01" mindestens 1,5 beträgt. Im folgenden Beispiel wird Frage "AB02" nach dann angezeigt, wenn der Mittelwert in der Skala "AB01" mindestens 1,5 beträgt.
Zeile 24: Zeile 24:
 if ($mean >= 1.5) { if ($mean >= 1.5) {
   question('AB02');   question('AB02');
 +}
 +</code>
 +
 +
 +===== Beispiel: Items =====
 +
 +Der folgende PHP-Code berechnet den Mittelwert der Items 2, 4, 6, 8 und 10 in der Frage AB02.
 +
 +<code php>
 +valueMean('AB01', [2, 4, 6, 8, 10])
 +</code>
 +
 +
 +===== Beispiel: Variablen =====
 +
 +Der folgende PHP-Code berechnet den Mittelwert aus den Variablen AB03_01, AB03_02, BB01_02 und BB01_04.
 +
 +<code php>
 +valueMean(['AB03_01', 'AB03_02', 'BB01_02', 'BB01_04'])
 +</code>
 +
 +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.
 +
 +<code php>
 +valueMean([
 +    'AB03_01', 'AB03_02',
 +    'BB01_02', 'BB01_04'
 +])
 +</code>
 +
 +
 +===== 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.
 +
 +<code php>
 +$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;
 } }
 </code> </code>
de/create/functions/valuemean.1421400053.txt.gz · Zuletzt geändert: 16.01.2015 10:20 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