2016-04-26 16 views
-5
df <- data.frame(month_key = c(rep(201504, 2), rep(201505, 3)), 
       id = c(1, 2, 1, 2, 3)) 

Ich habe einen Dataframe wie df, für jeden Monat ID sind nicht notwendig eindeutig. Ich möchte meinen Datenframe filtern und behalten nur die ID mit erscheint in der ersten Monat_Schlüssel (in meinem Beispiel ID = 1 und 2). Ich will nicht meine ID für den ersten Monat und inner_join mit dem anderen Monat wählen ... DankeFilter mit einer Bedingung

+0

... sagte ich il inner_join aber seine schwer muss ich etwas anderes – user3527451

+1

Betrachten wir eine andere Bereitstellung Objekt, das Ihre erwartete Ausgabe enthält. – Frank

+1

Sie müssen auch wissen, dass downvotes die Qualität Ihrer Frage darstellen. Sie haben die erwartete Ausgabe oder irgendeine Art von Code, den Sie ausprobiert haben, nicht eingeschlossen, daher die Downvotes (ich habe sie nicht heruntergesetzt). – Sotos

Antwort

3
ind <- df$id[df$month_key == df$month_key[1]] 
df[df$id %in% ind,] 
# month_key id 
#1 201504 1 
#2 201504 2 
#3 201505 1 
#4 201505 2 
+0

Danke mein Freund sehr nett! Wenn jemand eine dplyr Lösung geben kann, wird es cool. Dank – user3527451

+2

@ user3 DF [cond,] ist in etwa die gleiche wie DF%>% Filter (cond), so 'df%>% Filter (id% in% id [month_key == month_key [1]])' ist die Übersetzung von dieser Antwort. – Frank

+0

Thankss Frank für die Lösung – user3527451

Verwandte Themen