我有两个列表和一个函数,如下所示:
ms <- c(1, 2, 3)
ns <- c(4, 5)
f <- function(m, n) {
return result of some computation involving m and n
}
我想得到一个这样的表,其中每个条目都是通过将函数应用于行和列中的每对元素来获得的:
4 5
-------------------
1 | f(1, 4) f(1, 5)
2 | f(2, 4) f(2, 5)
3 | f(3, 4) f(3, 5)
我该怎么做?我不想使用for
循环。我假设有一种方法可以使用某种形式的apply
来实现这一点。
答案 0 :(得分:3)
您可以使用%*%
rows%*%t(cols)
或者
tcrossprod(rows, cols)
根据已编辑的OP的帖子
outer(rows, cols, FUN=f)