gpt4 book ai didi

R 连续列之间的相关性

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

我正在尝试编写一些代码来轻松计算矩阵中所有连续列之间的相关性。

假设我有 A、B、C、D、E 列。

我想要成对相关 AB、BC、CD、DE。

为了避免写一个循环,我玩过sapply,但到目前为止不是很成功。

如有任何支持,我将不胜感激。

最佳答案

您可以利用 cor 自动计算所有列相关的事实:

cor(df)[cbind(2:ncol(df), 1:(ncol(df) - 1))]
# [1] -0.08727070 -0.10444715 0.06008165 0.18030921

比较:

cor(df$a, df$b)
# [1] -0.0872707
cor(df$b, df$c)
# [1] -0.1044471

在这里,我们计算完整的相关矩阵,然后子集得到超对角线(对角线从实际对角线向上移动一个),它对应于列 1 - 2、2 - 3 等的相关性。我们使用矩阵进行子集化,该矩阵由指定所有超对角坐标的 cbind 创建。

这是我生成数据的方式:

set.seed(123)
df <- as.data.frame(replicate(5, runif(100), s=F))
names(df) <- letters[1:ncol(df)]

关于R 连续列之间的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676316/

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