gpt4 book ai didi

从 Corr 矩阵返回最大相关性和行名称

转载 作者:行者123 更新时间:2023-12-02 08:52:13 25 4
gpt4 key购买 nike

我试图使用 cor 函数找到 data.frame 对象每一列中的最大相关性。假设这个对象看起来像

A <- rnorm(100,5,1)
B <- rnorm(100,6,1)
C <- rnorm(100,7,4)
D <- rnorm(100,4,2)
E <- rnorm(100,4,3)


M <- data.frame(A,B,C,D,E)
N <- cor(M)

相关矩阵看起来像

>N

A B C D E
A 1.000000000 0.02676645 0.000462529 0.026875495 -0.054506842
B 0.026766455 1.00000000 -0.150622473 0.037911600 -0.071794930
C 0.000462529 -0.15062247 1.000000000 0.015170017 0.026090225
D 0.026875495 0.03791160 0.015170017 1.000000000 -0.001968634
E -0.054506842 -0.07179493 0.026090225 -0.001968634 1.000000000

在第一列 (A) 的情况下,我希望 R 返回值“D”,因为它是 A 列中的最大非负、非“1”值及其关联的相关性.

有什么想法吗?

最佳答案

另一种选择:

library(data.table)
setDT(melt(N))[Var1 != Var2, .SD[which.max(value)], keyby=Var1]

@cory 数据的结果(使用 set.seed(9)):

   Var1 Var2      value
1: A D 0.28933634
2: B C 0.13483843
3: C B 0.13483843
4: D A 0.28933634
5: E C 0.02588474

要了解其工作原理,请首先尝试运行 melt(N),它将数据转换为长格式。

关于从 Corr 矩阵返回最大相关性和行名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805555/

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