Tidyverse:这个 tidyselect 接口还不支持谓词 [英] Tidyverse: This tidyselect interface doesn't support predicates yet

查看:42
本文介绍了Tidyverse:这个 tidyselect 接口还不支持谓词的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 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(). Run rlang::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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆