2016-07-13 8 views
-2

Ich habe eine Datenmenge, wo irgendwie die nächsten einzelnen Daten über die vorherigen Daten für eine Zeile hinzugefügt werden, und das für jede Spalte, dh Zeile mit ID 1 ist die ursprüngliche reine Daten, sondern Zeile mit zB ID 10 hat die Daten aus den vorherigen 9 Datensätzen auf sich selbst ...subtrahieren jeden nächsten Spaltenwert von vorherigen?

was ich jetzt will, ist die ursprünglichen reinen Daten für jeden einzelnen Artikel, was bedeutet, dass für jede ID, wie kann ich alle Daten subtrahieren lassen sagen ID, 10? Ich würde die der vorherigen subtrahieren müssen, für ID 9 und so weiter ...

Ich möchte dies entweder in SQL Server oder in Rapidminer tun, arbeite ich mit diesen Tools, irgendeine Idee? hier ist ein Beispiel:

ID col1 col2 col3 
1 12 2  3 
2 15 5  5 
3 20 8  8 

so die realen richtigen Daten für Artikel mit ID 3 sind 20 nicht, 8, 8 ist (20-15), (8-5), (8-5), so seine 5,3,3 ... die später von ihrer früheren für jedes Element mit Ausnahme der ersten subtrahieren ..

+0

Bitte bearbeiten Sie Ihre Frage und geben Sie Beispieldaten und gewünschte Ergebnisse. –

Antwort

0

ich denke lag() die Antwort auf Ihre Frage ist:

select (case when id = 1 then col 
      else col - lag(col) over (order by id) 
     end) 

Allerdings würden Beispieldaten die Frage klären.

0

Innerhalb von RapidMiner gibt es den Operator Differentiate in der Erweiterung Series (der nicht standardmäßig installiert ist und vom RapidMiner Marketplace heruntergeladen werden muss). Dies kann verwendet werden, um Unterschiede zwischen Attributen in benachbarten Beispielen zu berechnen.

1

Probieren Sie es mit lag series Operator aus, es wird sicher funktionieren! Um diesen Operator zu erhalten, sollten Sie die Serienerweiterung vom RM-Marktplatz installieren.

Was dieser Operator tut - er kopiert die ausgewählten Attribute und schiebt jede Zeile des Beispielsatzes für einen Punkt, sodass Zeile mit ID 1 eine Kopie mit ID 2 usw. erhält (Sie können auch den Wert für eine Verzögerung angeben). Danach können Sie mit Generate Attributes einen Wert von einem anderen subtrahieren.

Verwandte Themen