我有一个相关矩阵(比如3x3),我想提取成对相关并将它们放入一个向量中。也就是说,我想从相关矩阵转到:
corVec = c(rho_12, rho_13, rho_23)
我希望能够为任何维度的相关矩阵做到这一点。
我这样做的原因是因为我想使用具有随机相关矩阵的copula包构建多变量(椭圆)copula。
谢谢!
答案 0 :(得分:3)
如果相关矩阵是rho,则可以使用以下方式提取成对相关:
rho[upper.tri(rho)]
答案 1 :(得分:0)
假设您有一个包含 3 列的 data.frame df1
。
rho=cor(df1)
将制作一个 3x3 矩阵。
制作成对相关“列表”(data.frame):
require(reshape2)
rho[!upper.tri(rho)]=NA
rho=na.omit(melt(rho,value.name = 'cor'))
rho=rho[order(-rho$cor),]