gpt4 book ai didi

r - R中核矩阵的快速计算

转载 作者:行者123 更新时间:2023-12-03 20:47:04 25 4
gpt4 key购买 nike

我有一个 n x p 矩阵,想计算定义为的 n x n 矩阵 B

B[i, j] = f(A[i,], A[j,])

其中 f 是一个接受适当维度参数的函数。在 R 中计算这个有什么巧妙的技巧吗? f 是对称且正定的(如果这有助于计算)。

编辑:Pranet 要求指定 f。这是一个好点。虽然我认为对任何函数都有一个有效的解决方案会很有趣,但在 f(x, y) 是 base::norm(xy, type='F' )。

最佳答案

您可以使用 outer与矩阵维度。

n <- 10
p <- 5
A <- matrix( rnorm(n*p), n, p )
f <- function(x,y) sqrt(sum((x-y)^2))
B <- outer(
1:n, 1:n,
Vectorize( function(i,j) f(A[i,], A[j,]) )
)

关于r - R中核矩阵的快速计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16944409/

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