Cara membuat nested for loop di r (termasuk contoh)
Perulangan for yang bersarang memungkinkan Anda melakukan iterasi pada elemen dalam beberapa vektor (atau beberapa dimensi matriks) dan melakukan operasi tertentu.
Struktur dasar perulangan for di R adalah:
for (i in 1:4) { print (i) } [1] 1 [1] 2 [1] 3 [1] 4
Dan struktur dasar dari perulangan for bersarang adalah:
for (i in 1:4) { for (j in 1:2) { print (i*j) } } [1] 1 [1] 2 [1] 2 [1] 4 [1] 3 [1] 6 [1] 4 [1] 8
Tutorial ini menunjukkan beberapa contoh pembuatan loop for bersarang di R.
Contoh 1: Perulangan For bersarang di R
Kode berikut menunjukkan cara menggunakan loop for bersarang untuk mengisi nilai matriks 4×4:
#create matrix
empty_mat <- matrix(nrow= 4 , ncol= 4 )
#view empty matrix
empty_mat
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA
#use nested for loop to fill in values of matrix
for (i in 1:4) {
for (j in 1:4) {
empty_mat[i, j] = (i*j)
}
}
#view matrix
empty_mat
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 2 4 6 8
[3,] 3 6 9 12
[4,] 4 8 12 16
Contoh 2: Perulangan For bersarang di R
Kode berikut menunjukkan cara menggunakan perulangan for bersarang untuk mengkuadratkan setiap nilai dalam bingkai data:
#create empty data frame
df <- data.frame(var1=c(1, 7, 4),
var2=c(9, 13, 15))
#view empty data frame
df
var1 var2
1 1 9
2 7 13
3 4 15
#use nested for loop to square each value in the data frame
for (i in 1:nrow(df)) {
for (j in 1:ncol(df)) {
df[i, j] = df[i, j]^2
}
}
#view new data frame
df
var1 var2
1 1 81
2 49 169
3 16 225
Catatan tentang perulangan
Secara umum, loop for bersarang bekerja dengan baik pada kumpulan data atau matriks kecil, namun cenderung cukup lambat pada data yang lebih besar.
Untuk data besar, rangkaian fungsi aplikasi cenderung jauh lebih cepat, dan paket data.table memiliki banyak fungsi bawaan yang bekerja secara efisien pada kumpulan data yang lebih besar.
Sumber daya tambahan
Cara mengulangi nama kolom di R
Bagaimana cara menambahkan baris ke bingkai data di R