Tidyverse: этот интерфейс tidyselect еще не поддерживает предикаты - PullRequest
1 голос
/ 04 апреля 2020

Я использую R и тренируюсь, используя данные dslabs для убийств в США. Как показано ниже, library(dslabs) data("murders") library(tidyverse) murders <- mutate(murders, pop_in_millions = population / 10^6) murders <- mutate(murders, rate = total/population * 100000) murders <- mutate(murders, rank(-rate)) select(murders, state, rank) Ошибка: этот интерфейс tidyselect еще не поддерживает предикаты. i Свяжитесь с автором пакета и предложите использовать eval_select(). Запустите rlang::last_error(), чтобы увидеть, где произошла ошибка.

1 Ответ

1 голос
/ 04 апреля 2020

В последнем вызове mutate вы забыли создать переменную rank. Поэтому select не может найти столбец с именем rank в вашем наборе данных. Несколько загадочное сообщение об ошибке связано с тем, что R вместо этого думает, что вы хотите что-то сделать с помощью функции rank. Попробуйте это:

library(dslabs) 
data("murders") 
library(tidyverse) 
murders <- mutate(murders, pop_in_millions = population / 10^6) 
murders <- mutate(murders, rate = total/population * 100000) 
murders <- mutate(murders, rank = rank(-rate)) 
head(select(murders, state, rank))
#>        state rank
#> 1    Alabama   23
#> 2     Alaska   27
#> 3    Arizona   10
#> 4   Arkansas   17
#> 5 California   14
#> 6   Colorado   38

Создано в 2020-04-04 пакетом Представить (v0.3.0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...