Dplyr过滤器使用动态列名称和值

时间:2016-07-25 09:16:07

标签: r dplyr

我尝试使用变量作为列名称和另一个变量作为过滤器值来过滤我的数据框。我过去曾使用filter_但只有我想要过滤的值才是可变的。

这是一些示例代码

#Create data frame
Code <- c("A12561", "B12817")
Value <- c(100,200)

df <- data.frame(Code, Value)


#Normal filter - WORKS
filter(df, Code == "A12561")



#Variable for column and value
Col.Var <- "Code"
Test.Val <- "A12561"

#Filter with only the number coming from a variable - WORKS
filter_(df, ~Code == Test.Val)
#Filter_ Returns nothing - DOESN'T WORK
filter_(df, Col.Var == Test.Val)
#Pasting a string - returns an error - DOESN'T WORK
filter_(df, paste(Col.Var, "==", Test.Val))

0 个答案:

没有答案