Tidyverse:这个 tidyselect 接口还不支持谓词 [英] Tidyverse: This tidyselect interface doesn't support predicates yet
问题描述
我正在使用 R 并使用 dslabs 数据练习美国的谋杀案.如下,
库(dslabs)数据(谋杀")图书馆(tidyverse)谋杀<-变异(谋杀,pop_in_millions =人口/10 ^ 6)`谋杀<-变异(谋杀,比率=总数/人口* 100000)`谋杀<-变异(谋杀,等级(-率))`选择(谋杀,状态,等级)
<块引用>
错误:此 tidyselect 接口尚不支持谓词.i 联系包作者并建议使用 eval_select()
.运行 rlang::last_error()
以查看错误发生的位置.
在上次 mutate 调用中,您忘记创建 rank
变量.因此 select
在您的数据集中找不到名为 rank
的列.有点神秘的错误消息与 R
认为您想用 rank
函数做某事的事实有关.试试这个:
library(dslabs)数据(谋杀")图书馆(tidyverse)谋杀 <- 变异(谋杀,pop_in_millions = 人口/10^6)谋杀<-变异(谋杀,比率=总数/人口* 100000)谋杀<-变异(谋杀,等级=等级(-率))头(选择(谋杀,状态,等级))#>州级#>1 阿拉巴马州 23#>2 阿拉斯加 27#>3 亚利桑那 10#>4 阿肯色州 17#>5 加利福尼亚 14#>6 科罗拉多州 38
由 reprex 包 (v0.3.0) 于 2020 年 4 月 4 日创建上>
I am using R and exercising using the dslabs data for murders in the USA. As follows,
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)
Error: This tidyselect interface doesn't support predicates yet. i Contact the package author and suggest using
eval_select()
. Runrlang::last_error()
to see where the error occurred.
In your last mutate call you forgot to create the rank
variable. Therefore select
can't find a column named rank
in your dataset. The somewhat mysterious error message is related to the fact that R
instead thinks you want to do something with the rank
function. Try this:
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
Created on 2020-04-04 by the reprex package (v0.3.0)
这篇关于Tidyverse:这个 tidyselect 接口还不支持谓词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!