gpt4 book ai didi

r - 使用函数返回的元素创建矩阵

转载 作者:行者123 更新时间:2023-12-02 22:03:29 25 4
gpt4 key购买 nike

我有两个带有一些值的向量 x 和 y,我需要生成矩阵,其中的元素将由应用于这 2 个向量的函数 f(x,y) 返回。即矩阵M会有一个典型元素

M[i,j] <- f(x[i], y[j])

如果我想避免循环,最有效的方法是什么?我可以使用 sapply 函数生成矩阵列或行,即

M[i, ] <- sapply(y, f, x = x[i])

但我仍然需要在其他维度应用循环,这非常慢,因为 x 的维度很大。是否可以使用 apply 函数族并完全避免循环?

最佳答案

这正是 outer 函数所做的:

outer(x, y, f)

如果 f 没有向量化,你需要:

outer(x, y, Vectorize(f))

关于r - 使用函数返回的元素创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com