想象一下,我有一个数据集如下
d <- data.frame(a = 1:10, b = letters[1:10], c = sample(10))
想象一下,我还有一个包含变量名称的字符向量
v <- c("a", "b")
使用dplyr
我想将v
用于select
变量a
&amp; b
。
这不起作用,
d %>%
select(v)
这是因为dplyr
包使用非标准评估,并且期望传递实际变量名称而不是字符。
答案 0 :(得分:3)
对于标准评估,您需要在给定名称后使用带下划线的函数。在这种情况下是select_()
。我们还需要使用.dots
参数将您的向量插入到调用中。
d %>% select_(.dots = v)
有关详情,请参阅help(select)
和vignette("nse")
。
答案 1 :(得分:2)
您也可以使用:
d %>% select(one_of(v))