我有一个相关矩阵(比如 3x3),我想提取成对相关并将它们放入一个向量中。也就是说,我想从相关矩阵转到:
corVec = c(rho_12, rho_13, rho_23)
我希望能够对任何维度的相关矩阵执行此操作。
我这样做的原因是因为我想使用带有随机相关矩阵的 copula 包来构造一个多元(椭圆)copula。
谢谢!
我有一个相关矩阵(比如 3x3),我想提取成对相关并将它们放入一个向量中。也就是说,我想从相关矩阵转到:
corVec = c(rho_12, rho_13, rho_23)
我希望能够对任何维度的相关矩阵执行此操作。
我这样做的原因是因为我想使用带有随机相关矩阵的 copula 包来构造一个多元(椭圆)copula。
谢谢!
如果相关矩阵是 rho,那么您可以使用以下方法提取成对相关:
rho[upper.tri(rho)]
假设您有一个df1
包含 3 列的 data.frame。
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),]