我试图了解如何使用R表达式。如果我有一个简单的表达式,例如exp <- quote(f(x=12))
,那么exp[[1]]
会返回函数f
,而exp[[2]]
会返回参数12
,但我不会# 39;不知道如何得到参数名x
。同样,我也不知道如何以编程方式创建表达式f(x=12)
(不使用quote
)。
答案 0 :(得分:2)
as.list()
和as.call()
将调用列表和列表转换为调用,对于此类computing on the language来说是必不可少的:
names(as.list(exp)[2])
# [1] "x"
as.call(list(as.symbol("f"), x=12))
# f(x = 12)
exp["y"] <- 4
exp
# f(x = 12, y = 4)