2016-05-22 2 views
0

Ich dachte, ich %in% auf dplyr Spalten verwenden können, aber nicht verstehen, warum dieses Beispiel gibt FALSE:Wie übersetzt man% in% in dplyr?

c <- tbl_df(cars) 
> 4 %in% select(c,speed) 
[1] FALSE 
+0

Sie können es nicht auf Spalten in der Basis R verwenden, also was macht Sie denken, Sie können es auf Spalten mit dplyr verwenden? –

+1

Hier ist der beste Weg: 'c%>%. $ Geschwindigkeit%>% \'% in% \ '(4,.)' - nur Spaß ... –

+0

@RichardScriven Ich verstehe Ihren ersten Kommentar nicht. '4% in% Autos $ Geschwindigkeit' arbeitet für mich. – Dambo

Antwort

1

In diesem Datenrahmen ‚c‘, es scheint, dass Sie alle Zeilen zu ziehen versuchen, die gleich 4.

Dies wäre eine Filterfunktion. Also folgendes sollten Sie bekommen, was ich glaube, Sie suchen:

filter(c, speed == 4) 

Auf der anderen Seite, wenn Sie wirklich „die Spalte [-Name] s, die‚4‘in ihnen“ suchen Sie könnte sogar tun das mit dem folgenden Code.

select(c, contains('4')) 

Aber das funktioniert nicht mit dem Autos $ Geschwindigkeitsdatensatz Beispiel. Ein ähnliches Beispiel wäre jedoch mit der Iris-Datensatz arbeiten und die Suche nach Spaltennamen enthält, ‚Len‘ im Titel:

select(iris, contains('Len')) 

PS: Ich finde diese Spickzettel ‚Platzdeckchen‘ wirklich hilfreich für alle Daten schnell Vermessung Wrangling Funktionen verfügbar in dplyr: https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf