我面临的问题如下,我无法使用带引号的字符串作为函数参数值,这是一个程序,我正在创建一个简单的函数,以子集的数据基于字符串子集条件如下。我正在使用rlang包curly curls {{但这似乎没有工作的任何想法
adsl <- data.frame(SubjList=c(1:10), SAFFL=sample(c('Y','N'),10,replace = T))
subs <- function(data=NA,subset='SubjList!=""'){
data1 <- data %>% filter({{subset}})
return(data1)
}
subs(data=adsl,subset = "SAFFL=='Y'")
1条答案
按热度按时间kcwpcxri1#
编辑
一种解决方案是使用rlang包(https://rlang.r-lib.org/reference/parse_expr.html)中的
parse_expr()
函数和bang-bang运算符:创建于2022年11月30日,使用reprex v2.0.2
原始答案
一种可能的解决方案是分别指定变量(即“SAFFL”)和值(“Y”或“N”),例如
创建于2022年11月30日,使用reprex v2.0.2
这对你的用例有效吗?或者你需要因为某种原因一起传递变量和值吗?