gpt4 book ai didi

R中的逐行相关

转载 作者:行者123 更新时间:2023-12-02 06:57:43 25 4
gpt4 key购买 nike

我有两个大小相同的矩阵。我想计算这些矩阵中每对行之间的相关系数; A 的第 1 行与 B 的第 1 行,A 的第 2 行与 B 的第 2 行等。

A <- matrix(runif(1:200), nrow=20)
B <- matrix(runif(1:200), nrow=20)

我能想到的最好的就是

ret <- sapply(1:20, function(i) cor(A[i,], B[i,]))

但它的效率非常低(矩阵有数万行)。有没有更好更快的方法?

最佳答案

这应该很快:

cA <- A - rowMeans(A)
cB <- B - rowMeans(B)
sA <- sqrt(rowMeans(cA^2))
sB <- sqrt(rowMeans(cB^2))

rowMeans(cA * cB) / (sA * sB)

关于R中的逐行相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27943070/

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