2016-12-19 1 views
1

Ich habe folgende Datenrahmen in R, die das Ergebnis der Schmelze Befehl lautet:Filtering R-Datenrahmen für paretooptimal Lösungen

"","compressed_size","variable","value" 
"1",3.54257218819307,"ASD",734 
"2", 3.54761628976966,"ASD",676 
"3", 3.56890066825612,"ASD",684 
"4", 3.80110901194377,"ASD",587 
"5", 3.66598964187419,"ASD",594 

Ich möchte alle dominiert Einträge diejenigen dh filtern, wenn ein anderer Eintrag vorhanden ist, dass ist gleich gut oder besser für komprimierte Größe und gleich gut oder besser für die Wertspalte. Aber strikt besser für mindestens einen. Besser bedeutet in diesem Fall, dass der Wert kleiner ist.

In dem obigen Beispiel würde die dritte Zeile gelöscht werden, da die zweite Zeile besser ist.

Ich visualisiere die Daten in einem Liniendiagramm mit ggplot2, aber keine Funktionalität von ggplot2, die verwendet werden könnte.

Ich möchte auch pareto optimale Lösungen mit mehr als zwei Variablen erhalten.

+2

das 'rPref' Paket verwenden – Drey

Antwort

1

dank Drey Kommentar fand ich folgende Antwort:

p <- low(reverse_neighbors_time_comp)*low(compressed_size, df = dataframe) 
peval(p) 

Die erste Zeile ist die Filterbedingung, wo * ein Pareto-Operator entspricht. Für weitere Informationen einen Blick auf Seite 7 von:

https://cran.r-project.org/web/packages/rPref/rPref.pdf