2016-05-22 3 views
0

Я думал, что я мог бы использовать %in% на dplyr колонн, но не понимаю, почему этот пример возвращает FALSE:Как перевести% в% в dplyr?

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

Вы не можете использовать его в колонках в базе R, и почему вы думаете, что можете использовать его на столбцах с dplyr? –

+1

Вот лучший способ: 'c%>%. $ Speed%>% \'% in% \ '(4,.)' - просто шутите ... –

+0

@RichardScriven Я не понимаю ваш первый комментарий. '4% в% cars $ speed' работает для меня. – Dambo

ответ

1

В этом dataframe «с», то появляется вы пытаетесь вывести все строки, которые равны 4.

Это будет функция фильтра. Таким образом, следующий должен получить вам то, что я верю, что вы ищете:

filter(c, speed == 4) 

С другой стороны, если вы действительно ищете «в колонке [-name] S, где„4“в них» можно даже сделать что со следующим кодом.

select(c, contains('4')) 

Но это не работает с примером набора данных скорости $ speed. Аналогичный пример будет, однако работать с радужки набора данных и поиска имен столбцов, содержащих «Леном» в их названиях:

select(iris, contains('Len')) 

PS: Я считаю это Cheatsheet «Placemat» очень полезно для быстрой съемки все данные функции запрета доступа в dplyr: https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf

Смежные вопросы