R に相関行列があり、要素のグループ (およびこれらのグループをベクトルに入れる) がそれらの間で 95% 以上相関している数を知りたいです。
X <- matrix(0,3,5)
X[,1] <- c(1,2,3)
X[,2] <- c(1,2.2,3)*2
X[,3] <- c(1,2,3.3)*3
X[,4] <- c(6,5,1)
X[,5] <- c(6.1,5,1.2)*4
cor.matrix <- cor(X)
cor.matrix <- cor.matrix*lower.tri(cor.matrix)
cor.vector <- which(cor.matrix>0.95, arr.ind=TRUE)
cor.vector
次に含まれます:
row col
[1,] 2 1
[2,] 3 1
[3,] 3 2
[4,] 5 4
これは、予想どおり、ベクトル 1、2、および 3 がそれらの間で相関し、4 と 5 も相関していることを意味します。
私が必要とするのは、最終結果として2 つのベクトルc(1,2,3)
を取得することです。c(4,5)
これは簡単な例ですが、大きな行列を処理しています。