如何找到任何数组组合之间的相关性

时间:2016-04-06 07:50:18

标签: excel excel-formula correlation

我有10个数据集,我想检查所有可能的对之间的相关性。例如,如果我有:

ABCD

我想检查AB,AC,AD,BC等之间的相关性。

我一直在使用excel中的Correl函数,这对于小数据集很好但如果我有1000个数据集而不是10个,我该怎么做?

1 个答案:

答案 0 :(得分:1)

此解决方案假设您在全局环境中拥有数据集,并且可以将这些数据集"刮掉"基于一些标准。在我的情况下,我选择" .string"处理。如果没有,你必须想出自己的方法将名字放入一个字符串。另一种方法是将所有数据集放入一个列表并使用索引。

A.string <- runif(5)
B.string <- runif(5)
C.string <- runif(5)

# find variables based on a common string
pairs <- combn(ls(pattern = "\\.string"), 2)

# for each pair, fetch variable and use function cor()
apply(pairs, MARGIN = 2, FUN = function(x) {
  cor(get(x[1]), get(x[2]))
})

[1] 0.2586141 0.7106571 0.7119712
相关问题