首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R填充矩阵而不使用循环

R填充矩阵而不使用循环
EN

Stack Overflow用户
提问于 2019-03-11 03:28:57
回答 1查看 134关注 0票数 0

大家好,我正在寻找一些编码建议和技巧。我有一个10x10矩阵,如下所示:

代码语言:javascript
运行
复制
mat <- matrix(NA, nrow = 10, ncol = 10)

和一个接受两个数字并返回一个简单标量的函数:

代码语言:javascript
运行
复制
fct <- function(x1, x2){
return(x1 * x2)
}

我的函数有点复杂,但这只是为了说明的目的。

我想通过将函数fct应用于两个向量来填充矩阵矩阵,比方说:

代码语言:javascript
运行
复制
x1 <- c(1:10)
x2 <- c(1:10)

我可以很容易地使用循环,但我想知道是否有人知道更好的方法,比如使用mapply/Map。

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-11 05:01:20

向量函数,如下所示:

代码语言:javascript
运行
复制
fct <- function(x1, x2){
out <- numeric(length = length(x1))
for(i in seq_along(x1)) {
    out[i] <- x1[i] * x2[i]
 }
return(out)
}

然后应用外部:

代码语言:javascript
运行
复制
outer(x1, x2, fct)

会成功的!

谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55091528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档