从两个列表和函数创建矩阵

时间:2015-01-21 18:50:05

标签: r

我有两个列表和一个函数,如下所示:

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来实现这一点。

1 个答案:

答案 0 :(得分:3)

您可以使用%*%

获取结果
rows%*%t(cols)

或者

 tcrossprod(rows, cols)

更新

根据已编辑的OP的帖子

outer(rows, cols, FUN=f)