Tidyverse: этот интерфейс tidyselect еще не поддерживает предикаты

Я использую 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 еще не поддерживает предикаты. Я свяжитесь с автором пакета и предложите использоватьeval_select(). Бегатьrlang::last_error() чтобы узнать, где произошла ошибка.

1 ответ

Решение

В своем последнем вызове 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

Создано 04.04.2020 пакетом REPEX (v0.3.0)

Другие вопросы по тегам