R の行列関数: 列の作成、印刷、追加、スライス
R の行列関数
R の行列関数は、m 行、n 列の 2 次元配列です。 つまり、R プログラミングにおける行列は、同じデータ型を持つ XNUMX つ以上のベクトルの組み合わせです。
注意: R の行列関数を使用して XNUMX 次元以上の配列を作成することができます。
R で行列を作成する方法
関数 matrix() を使用して行列を作成できます。以下は、3 つの引数を取る R で行列を作成する関数です。
matrix(data, nrow, ncol, byrow = FALSE)
引数:
- データ: R が行列の行と列に配置する要素のコレクション \
- ナロウ: 行の数
- ncol: 列の数
- 投稿者: 行は左から右に埋められます。 行列を列で埋めたい場合、つまり値を上から下まで埋めたい場合は、`byrow = FALSE` (デフォルト値) を使用します。
5 から 2 までの一連の数値を使用して 1 つの 10×XNUMX 行列を構築してみましょう。XNUMX つは byrow = TRUE、もう XNUMX つは byrow = FALSE で違いを確認します。
# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow = TRUE matrix_a <-matrix(1:10, byrow = TRUE, nrow = 5) matrix_a
出力:
dim() を使用して行列の次元を出力します
ここで、dim() を使用して R の行列の次元を出力しましょう。 dim() を使用して R で行列を出力する構文は次のとおりです。
# Print dimension of the matrix with dim() dim(matrix_a)
出力:
## [1] 5 2
5から1までの数字を含む10行の行列を作成し、byrow = FALSEとする。
# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow = FALSE matrix_b <-matrix(1:10, byrow = FALSE, nrow = 5) matrix_b
出力:
dim() を使用して行列の次元を出力します
再度、dim() を使用して行列の次元を出力します。 以下は R 印刷行列次元の構文です。
# Print dimension of the matrix with dim() dim(matrix_b)
出力:
## [1] 5 2
注意: コマンド matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2) を使用すると、上記と同じ効果が得られます。
ncol を使用して 4×3 行列を作成することもできます。 R は 3 つの列を作成し、行を上から下に埋めます。 例を確認してください
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) matrix_c
出力:
## [,1] [,2] [,3] ## [1,] 1 5 9 ## [2,] 2 6 10 ## [3,] 3 7 11 ## [4,] 4 8 12
例:
dim(matrix_c)
出力:
## [1] 4 3
cbind() を使用して行列に列を追加する
cbind() コマンドを使用して行列 R に列を追加できます。 cbind() は列バインディングを意味します。cbind() は指定された数の行列または列を連結できます。 たとえば、前の例では 5×2 行列を作成しました。 5 番目の列を連結し、次元が 3×XNUMX であることを確認します。
例:
# concatenate c(1:5) to the matrix_a matrix_a1 <- cbind(matrix_a, c(1:5)) # Check the dimension dim(matrix_a1)
出力:
## [1] 5 3
例:
matrix_a1
出力
## [,1] [,2] [,3] ## [1,] 1 2 1 ## [2,] 3 4 2 ## [3,] 5 6 3 ## [4,] 7 8 4 ## [5,] 9 10 5
例:
行列 R に列を複数回追加することもできます。 matrix_a2 行列の次の数値シーケンスを見てみましょう。 R の新しい行列の次元は 4×6 で、数値は 1 ~ 24 になります。
matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)
出力:
## [,1] [,2] [,3] ## [1,] 13 17 21 ## [2,] 14 18 22 ## [3,] 15 19 23 ## [4,] 16 20 24
例:
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) matrix_d <- cbind(matrix_a2, matrix_c) dim(matrix_d)
出力:
## [1] 4 6
注意: Cbind 作業では、R の行列の行数は等しくなければなりません
cbind() は列を連結し、rbind() は行を追加します。 matrix_c 行列に 5 行を追加して、次元が 3×XNUMX であることを確認してみましょう。
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) # Create a vector of 3 columns add_row <- c(1:3) # Append to the matrix matrix_c <- rbind(matrix_c, add_row) # Check the dimension dim(matrix_c)
出力:
## [1] 5 3
行列をスライスする
行列から XNUMX つまたは複数の要素を選択できます。 Rプログラミング 角括弧 [ ] を使用します。ここでスライスが登場します。
具体的な例を挙げますと、以下の通りです。
- matrix_c[1,2] は XNUMX 行 XNUMX 列目の要素を選択します。
- math_c[1:3,2:3] は、行 1、2、3 と列 2、3、XNUMX のデータを含む R スライス行列になります。
- matrix_c[,1] は、最初の列のすべての要素を選択します。
- matrix_c[1,] は、最初の行のすべての要素を選択します。
上記のコードで得られる出力は次のとおりです