R行列
行列
マトリックスは、列と行を含む2次元のデータセットです。
列はデータの垂直方向の表現であり、行はデータの水平方向の表現です。
マトリックスは、matrix()
関数を使用して作成できます。 nrow
パラメーターとncol
パラメーターを指定して、行と列の量を取得します。
例
# Create a matrix
thismatrix <- matrix(c(1,2,3,4,5,6), nrow = 3, ncol = 2)
# Print the matrix
thismatrix
注:c()
関数は、項目を連結するために使用される事を覚えておいて下さい。
文字列で行列を作成することもできます。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
thismatrix
マトリックス項目へのアクセス
大括弧[ ]
を使用してアイテムにアクセスできます。括弧内の最初の数字「1」は行の位置を指定し、2番目の数字「2」は列の位置を指定します。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
<strong>thismatrix[1, 2]</strong>
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
<strong>thismatrix[2,]</strong>
括弧内の数字の前にコンマを指定すると、列全体にアクセスできます。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
<strong>thismatrix[,2]</strong>
複数行へのアクセス
c()
関数を使用すると、複数の行にアクセスできます。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
thismatrix[c(1,2),]
複数の列にアクセスする
c()
関数を使用すると、複数の列にアクセスできます。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
thismatrix[, c(1,2)]
行と列を追加する
cbind()
関数を使用して行列に列を追加します。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
newmatrix <- cbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
# Print the new matrix
newmatrix
注:新しい列のセルは、既存のマトリックスと同じ長さでなければなりません。
rbind()
関数を使用し、行列に行を追加します。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
newmatrix <- rbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
# Print the new matrix
newmatrix
注:新しい行のセルは、既存の行列と同じ長さでなければなりません。
行と列を削除する
c()
関数を使用し、業列の行と列を削除します。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange", "mango", "pineapple"), nrow = 3, ncol =2)
#Remove the first row and the first column
thismatrix <- thismatrix[-c(1), -c(1)]
thismatrix
アイテムが存在するかどうかを確認する
指定したアイテムがマトリックスに存在するかどうかを調べるには、%in%
演算子を使用します。
例
マトリックスに「apple」が存在するかどうかを確認します。
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
"apple" %in% thismatrix
行数と列数
dim()
関数を使用して行列の行と列の数を見つけます。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
dim(thismatrix)
行列の長さ
length()
関数を使用して行列の次元を見つけます。
例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
length(thismatrix)
マトリックス内の合計セルは、行数に列数を掛けたものです。
上記の例: ディメンション = 2*2 =4
行列をループする
for
ループを使用してマトリックスをループできます。ループは最初の行から始まり、右に移動します。
例
マトリックス項目をループして出力します。
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
for (rows in 1:nrow(thismatrix)) {
for (columns in 1:ncol(thismatrix)) {
print(thismatrix[rows, columns])
}
}
2つの行列を組み合わせる
ここでも、 rbind()
またはcbind()
関数を使用して、2つ以上の行列を結合できます。
例
# Combine matrices
Matrix1 <- matrix(c("apple", "banana", "cherry", "grape"), nrow = 2, ncol = 2)
Matrix2 <- matrix(c("orange", "mango", "pineapple", "watermelon"), nrow = 2, ncol = 2)
# Adding it as a rows
Matrix_Combined <- rbind(Matrix1, Matrix2)
Matrix_Combined
# Adding it as a columns
Matrix_Combined <- cbind(Matrix1, Matrix2)
Matrix_Combined
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。