R'de yuvalanmış for döngüsü nasıl oluşturulur (örnekler dahil)
İç içe geçmiş bir for döngüsü, birden çok vektördeki (veya bir matrisin birden çok boyutunda) öğeler üzerinde yineleme yapmanıza ve belirli işlemleri gerçekleştirmenize olanak tanır.
R’deki for döngüsünün temel yapısı şöyledir:
for (i in 1:4) { print (i) } [1] 1 [1] 2 [1] 3 [1] 4
Ve iç içe geçmiş bir for döngüsünün temel yapısı şöyledir:
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
Bu eğitimde R’de iç içe döngüler oluşturmaya ilişkin bazı örnekler gösterilmektedir.
Örnek 1: R’de Yuvalanmış For döngüsü
Aşağıdaki kod, 4×4’lük bir matrisin değerlerini doldurmak için iç içe for döngüsünün nasıl kullanılacağını gösterir:
#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
Örnek 2: R’de İç İçe For döngüsü
Aşağıdaki kod, bir veri çerçevesindeki her değerin karesini almak için iç içe for döngüsünün nasıl kullanılacağını gösterir:
#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
Döngü hakkında bir not
Genel olarak, iç içe döngüler küçük veri kümeleri veya matrisler üzerinde iyi çalışır, ancak daha büyük verilerle oldukça yavaş olma eğilimindedirler.
Büyük veriler için, uygulama işlev ailesi çok daha hızlı olma eğilimindedir ve data.table paketi, daha büyük veri kümelerinde verimli bir şekilde çalışan birçok yerleşik işleve sahiptir.
Ek kaynaklar
R’de sütun adları üzerinde yineleme nasıl yapılır
R’de bir veri çerçevesine satırlar nasıl eklenir