dplyr::select_if
を使用して列を効率的に選択する方法を理解しようとしています。 dplyr 0.70に設定されたstarwars
データは、このために使用するのは良いデータセットされています。今、私は唯一の整数であり、選択した列をたいと言っdplyrの複数の属性条件に基づいて列を選択してください。
> starwars
# A tibble: 87 x 13
name height mass hair_color skin_color eye_color birth_year gender homeworld species films vehicles starships
<chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <list> <list> <list>
1 Luke Skywalker 172 77 blond fair blue 19.0 male Tatooine Human <chr [5]> <chr [2]> <chr [2]>
2 C-3PO 167 75 <NA> gold yellow 112.0 <NA> Tatooine Droid <chr [6]> <chr [0]> <chr [0]>
3 R2-D2 96 32 <NA> white, blue red 33.0 <NA> Naboo Droid <chr [7]> <chr [0]> <chr [0]>
4 Darth Vader 202 136 none white yellow 41.9 male Tatooine Human <chr [4]> <chr [0]> <chr [1]>
5 Leia Organa 150 49 brown light brown 19.0 female Alderaan Human <chr [5]> <chr [1]> <chr [0]>
6 Owen Lars 178 120 brown, grey light blue 52.0 male Tatooine Human <chr [3]> <chr [0]> <chr [0]>
7 Beru Whitesun lars 165 75 brown light blue 47.0 female Tatooine Human <chr [3]> <chr [0]> <chr [0]>
8 R5-D4 97 32 <NA> white, red red NA <NA> Tatooine Droid <chr [1]> <chr [0]> <chr [0]>
9 Biggs Darklighter 183 84 black light brown 24.0 male Tatooine Human <chr [1]> <chr [0]> <chr [1]>
10 Obi-Wan Kenobi 182 77 auburn, white fair blue-gray 57.0 male Stewjon Human <chr [6]> <chr [1]> <chr [5]>
。これはうまくいく:
library(dplyr)
starwars %>%
select_if(is.numeric)
しかし、私は複数の基準に基づいて選択したい場合はどうすればよいですか?
starwars %>%
select_if(name, is.character)
作業上記の2つの例のどちらもが、私はどのように私はかもしれない疑問に思って:
starwars %>%
select_if(c(is.numeric, is.character))
それとも、私はすべての数値およびname
列をしたい:たとえば、多分私は両方の数値と文字列が欲しいです私がここで概説したことを達成する。最初例えば
関連の質問と回答[こちら](https://stackoverflow.com/questions/39592879/r-dpylr-select-if-with-multiple-conditions) – aosmith