統計解析フリーソフト「R」で統計学に入門する26 【行列の中身を操作してみる】

こんにちは、ミントです

前回は、Rで行列をつくってみました

今回は、行列の要素を取り出したりしてみたいと思います

 

本記事の概要

Rで行列の要素を取り出してみる

行列には、行と列があります。今回は前回より大き目の行列を生成しました

Rで行列の要素を操作する

たとえば、この行列の2行目や3列目だけ取り出すことができます

  • ◎行目を指定するには、 行列名[ ◎,  ]
  • △行目を指定するには、 行列名[  , △]

のように指定します

Rで行列の要素を操作する

[ ] の中に番号を指定するのはベクトルと同じですね

行列には、行と列の番号があるので、[ 行番号,  列番号 ] というように指定します

片方を空白にすると、すべての意味になります

[2,  ] では2行目で、列は空欄なのですべてとなり、2行目の要素すべての意味になります

[ 2, 3 ] や[ 5, 3 ]と指定すると、その要素を取り出すことができます

Rで行列の要素を操作する

たしかに、2行3列の要素8、5行3列の要素23が取り出せました

やったー!ということで、これで行列の要素も扱えますね!

 

行列プログラムを書くときに、注意すべきこと

行列の要素の取り出し方は上で説明しました

上の例では、6行5列の行列で、次元は2次元です

要素を取り出すと、(上の例と同じですが)

Rで行列の要素を操作する

Rで行列の要素を操作する

これらは、全部1次元になっています

2次元の行列から要素を取り出すと、1次元になっています

つまり、次元が変わってしまいました!

こういう変化は、プログラムを書いていると、思いもよらぬエラーを引き起こしてしまうことがあるんです

なので、できれば「次元は変化させたくない!」わけです

そういうときは drop = FALSE  を使えばオッケーです

Rで行列の次元を維持する

drop = FALSE をつけることで、次元が落ちるのを防いでいます

これで、次元が落ちることなく、複雑な行列プログラムもかけますね

 

というわけで、今回は行列の要素をとりだしました。

 

 

行列の演算を、いろいろやってみました↓

こちら無料で読めます↓