【发布时间】:2020-05-12 00:07:25
【问题描述】:
拍
cubeAndAdd<-function(x,y){x^3+y^3}
outer(-1:1,-1:1,function(x,y) Vectorize(cubeAndAdd(x,y)))
运行此程序后,您将收到警告消息:
Warning message:
In formals(fun) : argument is not a function
这是为什么?毕竟,如果我真的不使用函数,那么这段代码根本不会运行。
【问题讨论】:
-
或许可以:
outer(-1:1,-1:1,Vectorize(cubeAndAdd))?既然你已经定义了 x 和 y,还需要重新定义一个 lambda 吗? -
@NelsonGon 这行得通,而且肯定比我所拥有的要好,但它并不能解释错误。
-
错误是再次定义
function(x,y),它引入了另一个lambda,因此不清楚与函数匹配的内容。如果你真的想明确,那么:outer(-1:1,-1:1,Vectorize(function(x,y) cubeAndAdd(x,y)))
标签: r vectorization