【发布时间】:2016-01-21 22:53:57
【问题描述】:
通常我会想要选择一个变量子集,其中该子集是函数的结果。在这个简单的例子中,我首先得到所有与宽度特性有关的变量名
library(dplyr)
library(magrittr)
data(iris)
width.vars <- iris %>%
names %>%
extract(grep(".Width", .))
返回:
>width.vars
[1] "Sepal.Width" "Petal.Width"
能够使用这些返回值作为选择列的一种方式会很有用(虽然我知道contains() 及其同级存在,但我想要执行许多更复杂的子集,并且为了这个例子的目的,这个例子是微不足道的。
如果我尝试使用此函数作为选择列的一种方式,则会发生以下情况:
iris %>%
select(Species,
width.vars)
Error: All select() inputs must resolve to integer column positions.
The following do not:
* width.vars
如何将dplyr::select 与存储为字符串的变量名向量结合使用?
【问题讨论】: