carjed
10/31/2014 - 6:51 PM

Select columns by vector of names using dplyr

Select columns by vector of names using dplyr

one <- seq(1:10)
two <- rnorm(10)
three <- runif(10, 1, 2)
four <- -10:-1

df <- data.frame(one, two, three)
df2 <- data.frame(one, two, three, four)

str(df)

names.df <- colnames(df)
names.df.2 <- c("one", "two", "three")

#install.packages("dplyr")
library(dplyr)

select_(df2, names.df)           # no - only first variable name
select_(df2, names.df.2)         # no - only first variable name
select(df2, one_of(names.df))    # success
select(df2, one_of(names.df.2))  # success