gpt4 book ai didi

r - R 中的成对运算

转载 作者:行者123 更新时间:2023-12-02 04:39:32 24 4
gpt4 key购买 nike

我需要计算每个日期变量的成对、连续相关性(我的数据集中有 246 个):

Company   2009/08/21      2009/08/24       2009/08/25
A -0.0019531250 -0.0054602184 -6.274510e-03
AA -0.0063291139 -0.0266457680 -1.750199e-02
AAPL 0.0084023598 -0.0055294118 -1.770643e-04 ...
...

这样我就可以找到 cor(col1,col2)、cor(col2,col3),但找不到 cor(col1,col3)。我意识到,如果我想要所有组合,我可以使用 combn 函数,但如果没有像 for 循环这样低效的东西,我无法弄清楚如何在我的情况下做到这一点。

最佳答案

方法一你可以这样做:

lapply(1:(ncol(dat)-1), function(i) cor(dat[, i], dat[, i+1],   
use="pairwise.complete.obs"))

例子具有 10 个变量的数据框将为您提供 9 个连续的相关性,即第 1-2、2-3、3-4 列等,如果这是您想要的。

dat <- replicate(10, rnorm(10))
lapply(1:(ncol(dat)-1), function(i)
cor(dat[, i], dat[, i+1], use="pairwise.complete.obs"))

方法二(非常简洁)

同样使用 iris 数据集:

dat <- iris[, 1:4]

diag(cor(dat, use="pairwise.complete.obs")[, -1])
[1] -0.1175698 -0.4284401 0.9628654

关于r - R 中的成对运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21170476/

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