7

こんにちは、R が好きで R が嫌いな皆さん:

行列 M を回転させたいとしましょう

      [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9

Nへ

       [,1] [,2] [,3]
[1,]    3    2    1
[2,]    6    5    4
[3,]    9    8    7

あなたがする必要があるのは、

N<-M[,c(3:1)]

そして、N の構造は依然として行列です

ただし、行列Mを回転させたい場合

       [,1] [,2] [,3]
[1,]    1    2     3  

Nへ

       [,1] [,2] [,3]
[1,]    3    2     1  

N<-M[,c(3:1)] を行うと、R はあなたに与えます

N
[1] 3 2 1

N はベクトルになりました! マトリックスじゃない!

私の解決策は N<-M%*%diag(3)[,c(3:1)] ですが、単位行列を格納するために大きなスペースが必要です。

もっと良いアイデアはありますか?

4

2 に答える 2

1
A=t(matrix(1:25,5,5))
B=matrix(0,5,5)
for(i in 1:5){
  B[i,(nrow(A)+1-i)]=1
}

A
# [,1] [,2] [,3] [,4] [,5]
# [1,]    1    2    3    4    5
# [2,]    6    7    8    9   10
# [3,]   11   12   13   14   15
# [4,]   16   17   18   19   20
# [5,]   21   22   23   24   25

A%*%B
# [,1] [,2] [,3] [,4] [,5]
# [1,]    5    4    3    2    1
# [2,]   10    9    8    7    6
# [3,]   15   14   13   12   11
# [4,]   20   19   18   17   16
# [5,]   25   24   23   22   21
于 2013-11-06T21:11:17.717 に答える