2016-11-15 3 views
0

Nach einer group_by kann ich nicht eindeutige Werte erhalten, wenn ich das Objekt zurück in einen Datenrahmen.distinkte Tropfen Spalten nach group_by

library(dplyr) 
x <- data.frame(A = c(1,1,2,2,3,3), B = c(1,2,3,4,5,6), C = c(6,6,6,5,5,5)) 
y <- x %>% group_by(A) %>% transmute(B = mean(B), C = mean(C)) 
y 
distinct(y) 
distinct(as.data.frame(y)) 

Dieses Verhalten scheint nach einer aktuellen dplyr Release geändert zu haben (ich habe dplyr_0.5.0), wie ich bin sicher, zu arbeiten, um meinen Code verwendet. Die Frage ist, ist das ein Fehler oder ein Design? Wenn ich von Entwurf, muss ich eine Menge Code ändern. Vielen Dank!

+0

Können Sie auch Ihre gewünschte Ausgabe angezeigt werden? – Megatron

+0

Hi @Megatron meine gewünschte Ausgabe ist 'distinct (as.data.frame (y))' aber der Code, den ich habe, ist 'distinct (y)'. Ich bin nicht hinter einer Kodierungslösung her - ich habe das. Was ich wissen möchte ist, sollte ich gehen und meinen gesamten Code ändern oder ist das ein Bug, der behoben wird? – Mist

Antwort

0

versuchen

library(dplyr) 
x <- data.frame(A = c(1,1,2,2,3,3), B = c(1,2,3,4,5,6), C = c(6,6,6,5,5,5)) 
y <- x %>% group_by(A) %>% transmute(B = mean(B), C = mean(C)) %>% ungroup() 
y 
distinct(y) 
distinct(as.data.frame(y)) 

Anmerkung der ungroup()