Ich habe einen Datensatz Ich möchte die Zeilen mit Daten entfernen, die doppelte Informationen in 4 verschiedenen Spalten haben.Entfernen Sie doppelte Zeilen basierend auf Bedingungen aus mehreren Spalten in r
foo<- data.frame(g1 = c("1","0","0","1","1"), v1 = c("7","5","4","4","3"), v2 = c("a","b","x","x","e"), y1 = c("y","c","f","f","w"), y2= c("y","y","y","f","c"), y3 = c("y","c","c","f","w"), y4= c("y","y","f","f","c"), y5=c("y","w","f","f","w"), y6=c("y","c","f","f","w"))
foo sieht dann aus wie:
g1 v1 v2 y1 y2 y3 y4 y5 y6
1 1 7 a y y y y y y
2 0 5 b c y c y w c
3 0 4 x f y c f f f
4 1 4 x f f f f f f
5 1 3 e w c w c w w
Nun möchte ich eine Zeile entfernen, die auf den Y1-6columns basierten Daten dupliziert. Daher würden nur Zeile 4 und 1 entfernt, wenn dies richtig ausgeführt wird, basierend darauf, dass alle Y-Variablen genau gleich sind. Es ist eine mehrspaltige Bedingung.
Ich glaube, ich bin in der Nähe, aber es funktioniert nicht richtig.
Ich habe versucht: new = foo[!(duplicated(foo[,1:6]))]
Denken, den duplizierten Befehl zu verwenden, den es suchen würde und nur diejenigen finden, die genau übereinstimmten?
Ich dachte über die Verwendung einer bedingten Anweisung mit &, aber kann auch nicht herausfinden, wie dies zu tun ist.
Ich dachte darüber nach, aber ich bin jetzt überwältigt und verloren. Ich würde erwarten, foo aussehen:
g1 v1 v2 y1 y2 y3 y4 y5 y6
2 0 5 b c y c y w c
3 0 4 x f y c f f f
5 1 3 e w c w c w w
Mein Favorit. –
Ich entschuldige mich über vereinfacht mein Beispiel, weil ich mehr Spalten von Informationen habe ... so basierend auf Variable 1-6 nur aus sagen 9 insgesamt Spalten von Informationen. Ich werde das obige Beispiel bearbeiten – Kerry
Ich aktualisierte meine Antwort. Die Auswahl der Zeilen basiert nun auf den Spalten y1 - y6. –