Невозможно выбрать - PullRequest
       16

Невозможно выбрать

2 голосов
/ 12 марта 2019

Я хочу выбрать переменные, которые являются символьными и целочисленными, используя функцию select_if dplyr.Но приведенный ниже код выдает ошибку.

mpg %>% select_if(is.character | is.integer)

Как мне решить эту проблему?

mpg %>% select_if(is.character) в одиночку работает хорошо, как применить несколько условий?

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Мы могли бы также использовать ~

library(dplyr)
mpg %>% 
   select_if(~ is.character(.x)|is.integer(.x))

Или с inherits

mpg %>% 
   select_if(~ inherits(.x, c("character", "integer")))
0 голосов
/ 12 марта 2019

Одним из способов было бы использование анонимной функции

library(dplyr)

mpg %>% select_if(function(x) is.character(x) | is.integer(x))

#   manufacturer model       year   cyl trans      drv     cty   hwy fl    class  
#   <chr>        <chr>      <int> <int> <chr>      <chr> <int> <int> <chr> <chr>  
# 1 audi         a4          1999     4 auto(l5)   f        18    29 p     compact
# 2 audi         a4          1999     4 manual(m5) f        21    29 p     compact
# 3 audi         a4          2008     4 manual(m6) f        20    31 p     compact
# 4 audi         a4          2008     4 auto(av)   f        21    30 p     compact
# 5 audi         a4          1999     6 auto(l5)   f        16    26 p     compact
# 6 audi         a4          1999     6 manual(m5) f        18    26 p     compact
# 7 audi         a4          2008     6 auto(av)   f        18    27 p     compact
# 8 audi         a4 quattro  1999     4 manual(m5) 4        18    26 p     compact
# 9 audi         a4 quattro  1999     4 auto(l5)   4        16    25 p     compact
#10 audi         a4 quattro  2008     4 manual(m6) 4        20    28 p     compact
# … with 224 more rows

ИЛИ с использованием funs

mpg %>% select_if(funs(is.character(.) | is.integer(.)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...