R 使い方 行列(マトリックス) スクリプトの書き方

バイオインフォ道場、くまぞうです。

Rのデータ構造は、他のプログラミング言語でよくみかけるデータ構造とは少し異なるように感じるかもしれません。しかし、基本的な構造を理解すれば、Rはもっと使いやすいツールになるかもしれません。行列(マトリックス)編。

関連記事 R script データ構造まとめ スクリプトの書き方

Rのデータ構造

行列

行列は、数値や文字などの1種類のデータを2次元配列として保持するデータ構造です。

生成とアクセス

行列の生成は、matrix関数を使います。データへのアクセスは、行と列のインデックスや名前を使ってアクセスできます。

行列の生成

R > my_data <- matrix(sample(12), 3, 4)  # 3行4列
R > my_data
     [,1] [,2] [,3] [,4]
[1,]    5   12    8   10
[2,]    9    1    7   11
[3,]    4    3    6    2

R > dimnames(my_data) <- list(c('a', 'b', 'c'),       # 行名
			      c('d', 'e', 'f', 'g'))  # 列名
R > my_data
  d  e f  g
a 5 12 8 10
b 9  1 7 11
c 4  3 6  2

行列へのアクセス

R > my_data[10]        # 列方向に数えていって10番目
[1] 10
R > my_data[1, 4]      # 行・列を指定
[1] 10
R > my_data['a', 'g']  # 行・列を指定(名前)
[1] 10