1

我有一个相关矩阵(比如 3x3),我想提取成对相关并将它们放入一个向量中。也就是说,我想从相关矩阵转到:

corVec = c(rho_12, rho_13, rho_23)

我希望能够对任何维度的相关矩阵执行此操作。

我这样做的原因是因为我想使用带有随机相关矩阵的 copula 包来构造一个多元(椭圆)copula。

谢谢!

4

2 回答 2

3

如果相关矩阵是 rho,那么您可以使用以下方法提取成对相关:

rho[upper.tri(rho)]
于 2013-03-17T13:50:59.830 回答
0

假设您有一个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),]
于 2021-01-25T13:46:27.353 回答