如何使用dplyr过滤到预定义的全局变量?

问题描述

假设我有以下情况。我的数据集每月更改为使用该月最后一天+“创建记录”的位置。

因此,为了避免在dplyr管道函数中多次更改此参数,我想在全局环境中预定义此变量,因此在dplyr中,我可以在select,filter和summary函数调用Columnparam。

Columnparam <- "7/31 Record Created"
analysis <- data %>% 
     filter(Columnparam == "YES")

不幸的是,这不起作用。因为它正在数据集中寻找“ Columnparam”,所以不存在。

如何调用它在全局环境中定义的“创建7/31记录”字符串?

解决方法

您可以尝试data %>% filter(!!as.symbol(Columnparam) == "YES")。另请参见Filter data frame by character column name (in dplyr)