0

我有一个方差-协方差矩阵,如下所示:

            hyperbPi       lZeta      lDelta
hyperbPi 0.005113433 0.009151182 0.008327188
lZeta    0.009151182 1.661749998 1.590549700
lDelta   0.008327188 1.590549700 1.526103143

如何切换它,使我在第一列中有 lZeta,在第二列中有 hyperbPi,在第三列中有 lDelta?我的意思是切换的方式不会丢失逻辑。我不能只切换列本身,因为它是一个方差-协方差矩阵?

4

1 回答 1

3

corcov和等函数var将创建一个与源中的列顺序相同的矩阵data.frame。您可以使用基本列索引轻松指定另一个顺序。

考虑这个无意义的例子:

set.seed(1)
x <- data.frame(matrix(sample(20, 18, replace = TRUE), ncol = 3))
names(x) <- c("two", "one", "three")
cov(x)
#              two   one     three
# two    36.666667 -25.8  4.866667
# one   -25.800000  45.9 -5.500000
# three   4.866667  -5.5 18.566667
cov(x[c(2, 1, 3)])
#         one        two     three
# one    45.9 -25.800000 -5.500000
# two   -25.8  36.666667  4.866667
# three  -5.5   4.866667 18.566667
于 2013-08-16T18:17:07.677 回答