使用select_和starts_with R.

时间:2016-08-08 10:01:06

标签: r select dplyr

为什么这段代码不起作用?

mtcars %>% select_("starts_with('d')")

Error in eval(expr, envir, enclos) : could not find function "starts_with"

这是简化的例子。我试图将select_命令传递给函数。

1 个答案:

答案 0 :(得分:2)

select()select_()之间的区别在于他们对参数的非标准/标准评估。如果starts_with()之类的函数用作select_()的参数,则应使用代字号引用:

library(dplyr)
mtcars %>% select_(~starts_with('d'))

这产生与select的正常使用相同的输出:

identical(mtcars %>% select_(~starts_with('d')), mtcars %>% select(starts_with('d')))
#[1] TRUE

有关更多信息,请参阅非标准评估的小插图:vignette("nse")