R 在调用中使用特殊函数调用的正确语法
我对在R 在调用中使用特殊函数调用的正确语法,r,function,syntax,nse,R,Function,Syntax,Nse,我对在调用中使用/eval感兴趣,就像在代码中一样: eval(call("mean", c(2,3))) 它将正确地生成结果2.5。现在,我想对一个 示例:+ 电话: eval(call("`+`", c(2,3))) 产生错误: eval(expr、envir、enclose)中出错:找不到函数“+” 与此类似, eval(call("+", c(2,3))) 不会产生预期的结果: [1] 2 3 所需的结果应该只返回长度为1的向量,该向量具有通过调用2+3获得的单个值5。ev
调用中使用/eval
感兴趣,就像在代码中一样:
eval(call("mean", c(2,3)))
它将正确地生成结果2.5。现在,我想对一个
示例:+
电话:
eval(call("`+`", c(2,3)))
产生错误:
eval(expr、envir、enclose)中出错:找不到函数“+
”
与此类似,
eval(call("+", c(2,3)))
不会产生预期的结果:
[1] 2 3
所需的结果应该只返回长度为1的向量,该向量具有通过调用2+3
获得的单个值5。eval(调用(“+”,c(2,3)))
工作正常。您正在使用向量调用一元加号,该向量返回相同的向量
如果要使用binary plus,则需要提供两个参数:
eval(call("+", 2, 3))
#[1] 5
但是生产代码中最好使用do.call
:
do.call("+", list(2, 3))
#[1] 5
eval(call(“+”,c(2,3))
工作得非常好。您正在使用向量调用一元加号,该向量返回相同的向量
如果要使用binary plus,则需要提供两个参数:
eval(call("+", 2, 3))
#[1] 5
但是生产代码中最好使用do.call
:
do.call("+", list(2, 3))
#[1] 5