【发布时间】:2022-09-25 21:20:57
【问题描述】:
语境
我想在 R 中使用带有美元符号的非标准评估。
我想自定义一个带有两个参数的函数。 data 是输入数据框,var 是输入数据框中变量的名称。返回值是变量名对应的值。
我可以用fun1 做到这一点。
library(dplyr)
df = data.frame(a = 1:3)
fun1 <- function(data, var){
data %>% pull({{var}})
}
> fun1(data = df, var = a)
[1] 1 2 3
问题
有什么方法可以使用非标准评估和美元符号($)来执行fun1 的功能。
我的解决方案如下(fun2),但报错。
fun2 <- function(data, var){ # Can\'t create fun2, it will report an error.
data${{var}}
}
fun2(data = df, var = a)
标签: r non-standard-evaluation standard-evaluation