【发布时间】:2019-03-10 19:28:57
【问题描述】:
大家好,我正在寻找一些编码建议和技巧。我有一个像这样的 10x10 矩阵:
mat <- matrix(NA, nrow = 10, ncol = 10)
还有一个接受两个数字并返回一个简单标量的函数:
fct <- function(x1, x2){
return(x1 * x2)
}
我的函数有点复杂,但这只是为了说明目的。
我想通过将函数 fct 应用于两个向量来填充矩阵垫,比如说:
x1 <- c(1:10)
x2 <- c(1:10)
我可以通过循环轻松完成,但我想知道是否有人知道更好的方法,也许使用 mapply/Map。
感谢您的帮助!
【问题讨论】:
-
喜欢
outer(x1, x2)吗?您需要将您的函数传递给outer的FUN参数,默认为"*"。 -
效率很大程度上取决于你的函数是否被矢量化......
-
感谢@markus 和Gregor。我只是将我的函数矢量化并使用了我以前不知道的外部。它就像一个魅力
标签: r loops matrix apply mapply