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、2番目の列にhyperbPi、3番目の列にlDeltaがあるように切り替えるにはどうすればよいですか? ロジックが失われないように切り替えるという意味です。分散共分散行列であるため、列自体を切り替えることはできませんか?

4

1 に答える 1

3

cor、、、などの関数はcovvarソースの列と同じ順序でマトリックスを作成します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 に答える