2

Mapply 将二维函数应用于每个 m 维向量的第一个元素,然后应用于每个元素的第二个元素,依此类推。结果是一个 m 维向量。

例如

> mapply(sum, 1:5, 12:16)
[1] 13 15 17 19 21

现在,是否有直接替代 mapply 的方法,将函数“交叉”应用于第一个向量和第二个向量的每个分量?

结果将是 am^2 矩阵。

4

1 回答 1

3

你可以试试outer

f1 <- function(x,y) x^2+x^y-3
outer(1:5, 12:16, f1)

这将类似于

t(Vectorize(function(x) f1(x,12:16))(1:5))
于 2015-03-09T07:14:21.123 回答