Cara menggunakan fungsi scan di r (dengan contoh)
Anda dapat menggunakan fungsi swep() di R untuk melakukan operasi tertentu pada baris atau kolom matriks.
Fungsi ini menggunakan sintaks dasar berikut:
sweep(x, MARGIN, STATS, FUN)
Emas:
- x : Nama matriks
- MARGIN : Margin untuk menjalankan fungsi (1=baris, 2=kolom)
- STATS : Nilai yang akan digunakan dalam fungsi
- FUN : Fungsi yang akan dilakukan
Contoh berikut menunjukkan cara menggunakan fungsi swep() dalam berbagai skenario di R.
Contoh 1: Gunakan swep() untuk melakukan operasi pada baris
Kode berikut menunjukkan cara menggunakan fungsi swep() untuk menambahkan angka tertentu ke nilai di setiap baris matriks:
#define matrix
mat <- matrix(1:15, nrow= 5 )
#view matrix
mast
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
#add specific numbers to each row
sweep(mat, 1 , c(5, 10, 15, 20, 25), " + ")
[,1] [,2] [,3]
[1,] 6 11 16
[2,] 12 17 22
[3,] 18 23 28
[4,] 24 29 34
[5,] 30 35 40
Berikut cara kerja fungsi swep() dalam skenario ini:
- 5 ditambahkan ke setiap nilai di baris pertama.
- 10 ditambahkan ke setiap nilai di baris kedua.
- 15 ditambahkan ke setiap nilai di baris ketiga.
- 20 ditambahkan ke setiap nilai di baris keempat.
- 25 ditambahkan ke setiap nilai di baris kelima.
Perhatikan bahwa dalam contoh ini kita menggunakan penjumlahan (+) sebagai operasi matematika yang harus dilakukan, namun kita dapat memilih untuk menggunakan operasi yang berbeda.
Misalnya kode berikut menunjukkan cara mengalikan nilai pada setiap baris dengan angka tertentu:
#define matrix
mat <- matrix(1:15, nrow= 5 )
#view matrix
mast
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
#multiply values in each row by certain amount
sweep(mat, 1 , c(.5, 1, 2, 4, 6), " * ")
[,1] [,2] [,3]
[1,] 0.5 3 5.5
[2,] 2.0 7 12.0
[3,] 6.0 16 26.0
[4,] 16.0 36 56.0
[5,] 30.0 60 90.0
Contoh 2: Gunakan scanning() untuk melakukan operasi pada kolom
Kode berikut menunjukkan cara menggunakan fungsi swep() untuk menambahkan angka tertentu ke nilai di setiap kolom matriks:
#define matrix
mat <- matrix(1:15, nrow= 5 )
#view matrix
mast
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
#add specific numbers to each column
sweep(mat, 2 , c(5, 10, 15), " + ")
[,1] [,2] [,3]
[1,] 6 16 26
[2,] 7 17 27
[3,] 8 18 28
[4,] 9 19 29
[5,] 10 20 30
Berikut cara kerja fungsi swep() dalam skenario ini:
- 5 ditambahkan ke setiap nilai di kolom pertama.
- 10 ditambahkan ke setiap nilai di kolom kedua.
- 15 ditambahkan ke setiap nilai di kolom ketiga.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di R:
Cara membuat matriks kosong di R
Cara mengonversi kerangka data menjadi matriks di R
Cara memplot baris matriks di R