読者です 読者をやめる 読者になる 読者になる

Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第7回 その他の行列(対角、単位行列)と要素の取り出し

第7回は行列の要素の取扱について書きます。まず、正方行列とは、行要素と列要素の数が同じ行列です。n行×n列の時、n次正方行列です。

> matrix <- matrix(1:9,3,3)
> matrix
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

> ##対角要素を1~5にして作成
> diag(c(1,2,3,4,5)) 
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    2    0    0    0
[3,]    0    0    3    0    0
[4,]    0    0    0    4    0
[5,]    0    0    0    0    5

> ##対角要素を1にまま5×5行列の作成
> diag(5)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    1    0    0    0
[3,]    0    0    1    0    0
[4,]    0    0    0    1    0
[5,]    0    0    0    0    1

> matrixA <- matrix(1:50,10,5)
> matrixA
      [,1] [,2] [,3] [,4] [,5]
 [1,]    1   11   21   31   41
 [2,]    2   12   22   32   42
 [3,]    3   13   23   33   43
 [4,]    4   14   24   34   44
 [5,]    5   15   25   35   45
 [6,]    6   16   26   36   46
 [7,]    7   17   27   37   47
 [8,]    8   18   28   38   48
 [9,]    9   19   29   39   49
[10,]   10   20   30   40   50

> ##1列目を取り出す
> matrixA[,1] 
 [1]  1  2  3  4  5  6  7  8  9 10

> ##5列目を取り出す
> matrixA[,5] 
 [1] 41 42 43 44 45 46 47 48 49 50

> ##1行目を取り出す
> matrixA[1,]
[1]  1 11 21 31 41

> ##4行目を取り出す
> matrixA[4,]
[1]  4 14 24 34 44

> ##奇数行を取り出す
> matrixA[c(1,3,5,7,9),] 
     [,1] [,2] [,3] [,4] [,5]
[1,]    1   11   21   31   41
[2,]    3   13   23   33   43
[3,]    5   15   25   35   45
[4,]    7   17   27   37   47
[5,]    9   19   29   39   49

> ##奇数列を取り出す
> matrixA[,c(1,3,5)]
      [,1] [,2] [,3]
 [1,]    1   21   41
 [2,]    2   22   42
 [3,]    3   23   43
 [4,]    4   24   44
 [5,]    5   25   45
 [6,]    6   26   46
 [7,]    7   27   47
 [8,]    8   28   48
 [9,]    9   29   49
[10,]   10   30   50

第7回は以上でお終い。