如何在R中创建包含空元素的成对列表?
在R,当我如何在R中创建包含空元素的成对列表?,r,tree,substitution,R,Tree,Substitution,在R,当我 substitute(function(a) { a })[[2]] 我看到了以下成对列表: $a 请注意,元素的值为空。我如何创建这样一个成对列表?以下内容不适用于我: > pairlist(a="") $a [1] "" 我是在以编程方式创建函数的上下文中提出这个问题的。我想做一些像 > call("function", pairlist(a=""), call("{", as.symbol("a"))) function(a = "") { a }
substitute(function(a) { a })[[2]]
我看到了以下成对列表:
$a
请注意,元素的值为空。我如何创建这样一个成对列表?以下内容不适用于我:
> pairlist(a="")
$a
[1] ""
我是在以编程方式创建函数的上下文中提出这个问题的。我想做一些像
> call("function", pairlist(a=""), call("{", as.symbol("a")))
function(a = "") {
a
}
这与我所做的非常接近
> substitute(function(a){a})
function(a) {
a
}
除了函数参数部分。和alist(a=)
您还可能发现函数formals
和body
有助于以编程方式创建函数,而不是substitute
和call
。下面是一个来自文档?formals
f <- function(x) a+b
formals(f) <- alist(a=,b=3) # function(a,b=3)a+b
f(2) # result = 5
f试试这个:
> as.pairlist(alist(a=))
$a
也许你想做的是:
> f2 <- as.function(alist(a=1,b=,{a+b}))
> f2
function (a = 1, b)
{
a + b
}
>f2
函数(a=1,b)
{
a+b
}
> f2 <- as.function(alist(a=1,b=,{a+b}))
> f2
function (a = 1, b)
{
a + b
}