用apply来计算矩阵的相关矩阵

mor*_*eza 1 r apply

我想计算相关矩阵P,其中每个P [i,j]是矩阵Data中的行i和col j的相关系数.例如

  Data <- matrix(rnorm(500),50,10)
  P <- matrix(0,50,50)
  for (i in 1:50) 
     for(j in 1:50)
        P[i,j] <- cor(Data[i,],Data[j,])
Run Code Online (Sandbox Code Playgroud)

但是我如何使用apply或类似命令的东西来计算这种相关性.

Sac*_*amp 5

您可以只使用cor()数据帧或矩阵来获得所有列对之间相关性的相关矩阵:

cor(t(Data))
Run Code Online (Sandbox Code Playgroud)

根据您的问题和代码,您不清楚是否需要对所有行对或行与列之间的相关性进行相关,但由于矩阵不是正方形,因此我假设第一个.

  • `apply`并没有真正降低计算时间.基本上它只是编写循环的另一种方式.和`outer`一样真的. (2认同)