NEWS
10 Werte, sortieren und nur die mittleren 6 nehmen
-
Hallo zusammen,
ich stehe gerade vor einem Problem wo ich nicht weiß wie ich es lösen soll/kann... vielleicht könnt Ihr mir da weiterhelfen?
Ich bekomme jede Minute einen Wert, diesen Wert möchte ich speichern und der Größe nach sortieren und dann die 2 höchsten in der Tabelle und die 2 niedrigensten löschen bzw. nur die 6 Mittleren Werte verwenden und daraus einen Durchschnitt machen.
Wie kann ich das am besten anstellen?
Viele Grüß m.
-
Hallo zusammen,
ich stehe gerade vor einem Problem wo ich nicht weiß wie ich es lösen soll/kann... vielleicht könnt Ihr mir da weiterhelfen?
Ich bekomme jede Minute einen Wert, diesen Wert möchte ich speichern und der Größe nach sortieren und dann die 2 höchsten in der Tabelle und die 2 niedrigensten löschen bzw. nur die 6 Mittleren Werte verwenden und daraus einen Durchschnitt machen.
Wie kann ich das am besten anstellen?
Viele Grüß m.
-
@michl75 gleitender-durchschnitt-mit-blockly
Ich wollte nen Link reinpacken, aber das ist "forbidden " bei mir
-
Hallo zusammen,
ich stehe gerade vor einem Problem wo ich nicht weiß wie ich es lösen soll/kann... vielleicht könnt Ihr mir da weiterhelfen?
Ich bekomme jede Minute einen Wert, diesen Wert möchte ich speichern und der Größe nach sortieren und dann die 2 höchsten in der Tabelle und die 2 niedrigensten löschen bzw. nur die 6 Mittleren Werte verwenden und daraus einen Durchschnitt machen.
Wie kann ich das am besten anstellen?
Viele Grüß m.
@michl75 Nimm den Median Wert - der nimmt aus einer Reihe von Werten immer den mittleren und nimmt nicht den Durchschnitt, sodass Ausreiser nach oben oder unten automatisch nicht berücksichtigt werden. Bei einer gerade Anzahl an Werten wird der Mittelwert der beiden mittleren Werte genommen, bei ungeraden Anzahl an Werten, der der wirklich in der MItte ist.
Hier gabs auch mal ein Script - ich hab es selbst nicht ausprobiert - da ich mit NR arbeite, aber das kann man sicher auch dann ggf. auf Deine Bedürfnisse anpassen kann. Die aggregator Node benutzt zum Beispiel diese Statistic Libary - mit der man den Median (s. API) leicht ermitteln kann, in dem man ihm ein Array von Datenpunkten übergibt.
-
@michl75 gleitender-durchschnitt-mit-blockly
Ich wollte nen Link reinpacken, aber das ist "forbidden " bei mir
-
Hallo zusammen,
ich stehe gerade vor einem Problem wo ich nicht weiß wie ich es lösen soll/kann... vielleicht könnt Ihr mir da weiterhelfen?
Ich bekomme jede Minute einen Wert, diesen Wert möchte ich speichern und der Größe nach sortieren und dann die 2 höchsten in der Tabelle und die 2 niedrigensten löschen bzw. nur die 6 Mittleren Werte verwenden und daraus einen Durchschnitt machen.
Wie kann ich das am besten anstellen?
Viele Grüß m.
@michl75
wie liegen die daten vor?
wenn in javascript als array dann[5,3,8,1,4,9,0,2,6,7].sort((a,b)=>a-b).slice(2,8).reduce((c,el)=>c+el)/6
Ausgangsarray
[5,3,8,1,4,9,0,2,6,7]Ergebnis nach Sort
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]Ergebnis nach slice (einen Teil aus einem Array extrahieren
[2, 3, 4, 5, 6, 7]Ergebnis nach reduce (summieren des array)
27Ergebnis nach teilen / 6
4.5 -
Hallo zusammen,
ich stehe gerade vor einem Problem wo ich nicht weiß wie ich es lösen soll/kann... vielleicht könnt Ihr mir da weiterhelfen?
Ich bekomme jede Minute einen Wert, diesen Wert möchte ich speichern und der Größe nach sortieren und dann die 2 höchsten in der Tabelle und die 2 niedrigensten löschen bzw. nur die 6 Mittleren Werte verwenden und daraus einen Durchschnitt machen.
Wie kann ich das am besten anstellen?
Viele Grüß m.
@michl75
wenn du nur den Median haben willst nimm:
(unter Mathematik!)ansonsten gibt es unter Listen die Möglichkeit die Liste numerisch zu sortieren, vorne und hinten zu beschneiden, und unter Matthe dann wieder den Mittelwert Block

-
@michl75
wenn du nur den Median haben willst nimm:
(unter Mathematik!)ansonsten gibt es unter Listen die Möglichkeit die Liste numerisch zu sortieren, vorne und hinten zu beschneiden, und unter Matthe dann wieder den Mittelwert Block

@homoran eben gerade erst deinen Beitrag gesehen ... dass muss ich mir sofort anschauen...
hier mein erster Versucht, ich hab sowas noch nie gemacht... also Top-Einsteiger-Variante...


Funktionieren tut das natürlich nicht wirklich ... eigentlich gar nicht da ich kein Ergebnis bekomme, da ich es nicht hinbekomme mit der Liste erzeugen und ergänzen... Katastrophen-Ausführung ist das mein Versuch...
Na ich esse erstmal was und dann schau ich mir deine Infos genauer an...
vielen Dank aber schon mal
-
@michl75
wie liegen die daten vor?
wenn in javascript als array dann[5,3,8,1,4,9,0,2,6,7].sort((a,b)=>a-b).slice(2,8).reduce((c,el)=>c+el)/6
Ausgangsarray
[5,3,8,1,4,9,0,2,6,7]Ergebnis nach Sort
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]Ergebnis nach slice (einen Teil aus einem Array extrahieren
[2, 3, 4, 5, 6, 7]Ergebnis nach reduce (summieren des array)
27Ergebnis nach teilen / 6
4.5@oliverio ja noch gar nicht irgendwie... ich habe mir einen Datenpunkt angelegt als Array und dann habe ich einen Datenpunkt aus MQTT der alle x Sekunden einen Wert bringt. Diesen MQTT Wert versucht ich gerade in einen "Array" zu bringen ... aber mit Blockly
Korrektur, da ich es mit Datenpunkt Array gar nicht hinbekommen habe, habe ich es erst mal mit einem String versucht (zusammengesetzt eben)
-
@homoran eben gerade erst deinen Beitrag gesehen ... dass muss ich mir sofort anschauen...
hier mein erster Versucht, ich hab sowas noch nie gemacht... also Top-Einsteiger-Variante...


Funktionieren tut das natürlich nicht wirklich ... eigentlich gar nicht da ich kein Ergebnis bekomme, da ich es nicht hinbekomme mit der Liste erzeugen und ergänzen... Katastrophen-Ausführung ist das mein Versuch...
Na ich esse erstmal was und dann schau ich mir deine Infos genauer an...
vielen Dank aber schon mal
@michl75 sagte in 10 Werte, sortieren und nur die mittleren 6 nehmen:
Na ich esse erstmal was und dann schau ich mir deine Infos genauer an...
ich denke da wären immer nur 10 Werte drin?
Jetzt wird es komplexer.Entweder die Liste auf 10 Werte begrenzen, oder die Länge der Liste auslesen und dann mehr (????) Datenpunkte oben und unten (Ausreißer??) entfernen
-
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
ich denke da wären immer nur 10 Werte drin?
ja war mein Ziel... aber die muss ich ja erst aus dem MQTT Datenpunkt sammeln... und da fängts schon an das ich's nicht hinbekommen
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
Entweder die Liste auf 10 Werte begrenzen, oder die Länge der Liste auslesen und dann mehr (????) Datenpunkte oben und unten (Ausreißer??) entfernen
Ausreißer entfernen ... darum wollte ich eben 10 mal sammeln, dann sortieren... die ersten beiden weg und die letzten beiden auch --- Rest dann 6 Stück und damit den Durchschnitt machen
-
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
ich denke da wären immer nur 10 Werte drin?
ja war mein Ziel... aber die muss ich ja erst aus dem MQTT Datenpunkt sammeln... und da fängts schon an das ich's nicht hinbekommen
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
Entweder die Liste auf 10 Werte begrenzen, oder die Länge der Liste auslesen und dann mehr (????) Datenpunkte oben und unten (Ausreißer??) entfernen
Ausreißer entfernen ... darum wollte ich eben 10 mal sammeln, dann sortieren... die ersten beiden weg und die letzten beiden auch --- Rest dann 6 Stück und damit den Durchschnitt machen
@michl75 auf die Schnelle mit der heißen Nadel:

ist es das was ihr suchet?
Hab hier mal 20 als Listenlänge vorgegeben und der Wert wird auch erst berechnet wenn 21 Mwssungen vorliegen
-
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
ich denke da wären immer nur 10 Werte drin?
ja war mein Ziel... aber die muss ich ja erst aus dem MQTT Datenpunkt sammeln... und da fängts schon an das ich's nicht hinbekommen
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
Entweder die Liste auf 10 Werte begrenzen, oder die Länge der Liste auslesen und dann mehr (????) Datenpunkte oben und unten (Ausreißer??) entfernen
Ausreißer entfernen ... darum wollte ich eben 10 mal sammeln, dann sortieren... die ersten beiden weg und die letzten beiden auch --- Rest dann 6 Stück und damit den Durchschnitt machen
erzähle mal doch was so dein gesamtziel ist. bisher hast du nur einen kleinen ausschnitt erzählt. evtl bist du ja schon vom ansatz falsch unterwegs und es gibt einen einfacheren weg.
was für daten möchtest du den sammeln?
warum willst du die obersten und untersten abschneiden/webschmeißen?
und aus dem Rest den durchschnitt berechnen.
Wenn wir den Gesamtkontext wissen kann man besser helfen.
du hast halt eine detailfrage gestellt und hast eine detailantwort erhalten.
aus deinen weiteren posts entnehme ich aber, das das gesamtkonstrukt noch nicht klar ist. -
erzähle mal doch was so dein gesamtziel ist. bisher hast du nur einen kleinen ausschnitt erzählt. evtl bist du ja schon vom ansatz falsch unterwegs und es gibt einen einfacheren weg.
was für daten möchtest du den sammeln?
warum willst du die obersten und untersten abschneiden/webschmeißen?
und aus dem Rest den durchschnitt berechnen.
Wenn wir den Gesamtkontext wissen kann man besser helfen.
du hast halt eine detailfrage gestellt und hast eine detailantwort erhalten.
aus deinen weiteren posts entnehme ich aber, das das gesamtkonstrukt noch nicht klar ist.@oliverio soweit ich das aus anderen Threads zusammenreime hat er eine (gewöhnungsbedürftige) pH-Elektrode im Teich und möchte diese Kurve glätten.
@oliverio sagte in 10 Werte, sortieren und nur die mittleren 6 nehmen:
warum willst du die obersten und untersten abschneiden/webschmeißen?
Ausreißerbereinigung
-
@oliverio soweit ich das aus anderen Threads zusammenreime hat er eine (gewöhnungsbedürftige) pH-Elektrode im Teich und möchte diese Kurve glätten.
@oliverio sagte in 10 Werte, sortieren und nur die mittleren 6 nehmen:
warum willst du die obersten und untersten abschneiden/webschmeißen?
Ausreißerbereinigung
-
@oliverio na dann bin ich mal raus
-
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
ich denke da wären immer nur 10 Werte drin?
ja war mein Ziel... aber die muss ich ja erst aus dem MQTT Datenpunkt sammeln... und da fängts schon an das ich's nicht hinbekommen
@homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:
Entweder die Liste auf 10 Werte begrenzen, oder die Länge der Liste auslesen und dann mehr (????) Datenpunkte oben und unten (Ausreißer??) entfernen
Ausreißer entfernen ... darum wollte ich eben 10 mal sammeln, dann sortieren... die ersten beiden weg und die letzten beiden auch --- Rest dann 6 Stück und damit den Durchschnitt machen
@michl75 sagte: 10 mal sammeln, dann sortieren... die ersten beiden weg und die letzten beiden auch --- Rest dann 6 Stück und damit den Durchschnitt machen
Vorschlag:

Nimmt immer die 10 letzten Werte (gleitend), sortiert diese und lässt die Ausreißer weg.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden