R中2个矩阵之间的MIC相关性

MIC correlation between 2 matrices in R

MINERVA 包提供了执行最大信息系数 (MIC) 的功能。包的描述规定函数 mine (x,y) 仅适用于 2 个相同大小的矩阵 A 和 B。

在这里,我想得到两个不同大小的A和B矩阵相关得到的MIC系数值,恭敬的,A是n×m,B是n×z,n是个数观察(行)。 换句话说,我的目标是获得 m x z[=25= 的 C 矩阵] ,其中 returns,对于每个值,给出 MIC 相关系数值(如果可能,还有相关的 P 值,如果有的话)。

我提供了一个我想要的 Pearson 相关性示例。

set.seed(1)
x <- matrix(rnorm(20), nrow=5, ncol=10)
y <- matrix(rnorm(15), nrow=5, ncol=20)
P <- cor(x, y=y)

我邮寄了一位 MINERVA 包的作者但没有成功,有什么方法可以应用我的功能来获得所需的 m by z相关性?

让我自己回答 post。在下面的代码中,我使用了循环函数,这可能不是 smartest/fastest 的方法,但它按预期工作。

library(minerva)
set.seed(1)
x <- matrix(rnorm(20), nrow=5, ncol=10)
y <- matrix(rnorm(15), nrow=5, ncol=20)

Result = matrix(ncol = ncol(y),nrow = ncol(x))
for(i in 1:ncol(x))
{Thisvar = x[,i]
  print(i)
for(k in 1:ncol(y)) 
  {Thisvar2 = y[,k]
  res = mine(Thisvar,Thisvar2, master=TRUE, use="all.obs")
  Result[i,k] = res$MIC
}}