是否有任何函数可以计算R中数组中包含的一组矩阵之间的相关性?

时间:2019-07-13 17:13:06

标签: arrays r correlation

我有一个包含20个矩阵的列表。我想计算所有矩阵之间的皮尔逊相关性。但是我找不到任何可能的代码或功能?您能否提供一些提示。

def __init__(self, title, buttons, **kwargs):
    self.register_event_type('on_release')
    kw = kwargs.copy()
    kw.pop('buttons', None)
    super(SettingItem, self).__init__(**kw)
    for aButton in buttons:
        oButton=Button(text=aButton['title'], font_size= '15sp')
        oButton.ID=aButton['id']
        self.add_widget(oButton)
        oButton.bind (on_release=self.On_ButtonPressed)

我发现: https://rdrr.io/cran/lineup/man/corbetw2mat.html并尝试:

on_config_change(self, config, section, key, value)

我遇到以下错误:

something like:
a=matrix(1:8100, ncol = 90)
b=matrix(8100:16199, ncol = 90)
c=matrix(sample(16200:24299),ncol = 90)
z=list(a,b,c)

我想要这样的结果列表:

library(lineup)
corbetw2mat(z[a], z[b], what = "all")

谢谢

1 个答案:

答案 0 :(得分:0)

我将创建一个较小的数据集来说明以下解决方案。
要获得成对组合,最好的选择是计算一个combn的组合矩阵,然后循环遍历,在这种情况下为lapply循环。

set.seed(1234)    # Make the results reproducible

a <- matrix(1:9, ncol = 3)
b <- matrix(rnorm(9), ncol = 3)
c <- matrix(sample(1:9), ncol = 3)
sample_list <- list(a, b, c)

cmb <- combn(3, 2)
res <- lapply(seq.int(ncol(cmb)), function(i) {
  cor(sample_list[[ cmb[1, i] ]], sample_list[[ cmb[2, i] ]])
})

结果在列表res中。

请注意,sample是基本的r函数,因此我将名称更改为sample_list