UIN Maulana Malik Ibrahim Malang

Subset Pada Matriks

Sama halnya dengan vektor, subset juga dapat dilakukan pada matriks. Namun bedanya subset dengan vektor yaitu dilakukan berdasarkan baris dan kolom pada sebuah matriks.

1. Memilih baris / kolom berdasarkan pengindeksan positif

baris atau kolom dapat diseleksi menggunakan format data[row, col]. Cara selesi ini sama dengan vektor, bedanya kita harus menetukan baris dan kolom dari data yang akan kita pilih. Berikut adalah contoh penerapannya:

# memilih baris ke-2
my_data[2,]
## col1 col2 col3 
##    6    4    3
#memilih baris ke-3
my_data[3,]
## col1 col2 col3 
##    7    5    4
#memilih baris 1 sampai 3
my_data[1:3,]
##      col1 col2 col3
## row1    5    2    7
## row2    6    4    3
## row3    7    5    4
# memilih baris 2 sampai 4
my_data[2:4,]
##      col1 col2 col3
## row2    6    4    3
## row3    7    5    4
## row4    8    9    8
# memilih baris 2 dan 4
my_data[c(2,4),]
##      col1 col2 col3
## row2    6    4    3
## row4    8    9    8
# memilih baris 2 dan kolom 3
my_data[2, 3]
## [1] 3

2. Memilih berdasarkan nama baris / kolom

Berikut adalah contoh subset berdasarkan nama baris atau kolom.

# memilih baris 1 dan kolom 3
my_data["row1","col3"]
## [1] 7
#memilih baris 2 dan kolom 3
my_data["row2","col3"]
## [1] 3
# memilih baris 1 sampai 4 dan kolom 3
baris <- c("row1","row2","row3")
my_data[baris, "col3"]
## row1 row2 row3 
##    7    3    4
#memilih baris 1 sampai 3 dan kolom 2
baris <- c("row1", "row2", "row3")
my_data[baris, "col2"]
## row1 row2 row3 
##    2    4    5

3. Memilih pengecualian baris/kolom dengan pengindeksan negatif

Sama seperti vektor pengecualian data dapat dilakukan di matriks menggunakan pengindeksan negatif. Berikut cara melakukannya:

# Kecualikan baris 2 dan 3 serta kolom 3
my_data[-c(2,3), -3]
##      col1 col2
## row1    5    2
## row4    8    9
## row5    9    8
# Kecualikan baris 1 dan 3 serta kolom 2
my_data[-c(1,3), -2]
##      col1 col3
## row2    6    3
## row4    8    8
## row5    9    7

4. Memilih dengan logik

Dalam kode R di bawah ini, misalkan kita ingin hanya menyimpan baris di mana col3> = 4:

col2 <- my_data[, "col2"]
my_data[col2 >= 4, ]
##      col1 col2 col3
## row2    6    4    3
## row3    7    5    4
## row4    8    9    8
## row5    9    8    7
col3 <- my_data[, "col3"]
my_data[col3 >= 4, ]
##      col1 col2 col3
## row1    5    2    7
## row3    7    5    4
## row4    8    9    8
## row5    9    8    7