Liste ve Matris Örnekleriyle R'de Döngü İçin
Bir for döngüsü, bir öğe listesi veya bir sayı aralığı üzerinde yineleme yapmamız gerektiğinde çok değerlidir. Döngü bir liste, veri çerçevesi, vektör, matris veya başka herhangi bir nesne üzerinde yineleme yapmak için kullanılabilir. Parantez ve köşeli parantez zorunludur.
Bu eğitimde şunları öğreneceğiz:
Döngü Söz Dizimi ve Örnekler İçin
For (i in vector) { Exp }
Burada,
R vektördeki tüm değişkenler üzerinde döngü yapacak ve exp'nin içinde yazılan hesaplamayı yapacaktır.

Birkaç örnek görelim.
R Örnek 1'deki Döngü İçin: Bir vektörün tüm elemanlarını yineliyoruz ve mevcut değeri yazdırıyoruz.
# Create fruit vector fruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana') # Create the for statement for ( i in fruit){ print(i) }
Çıktı:
## [1] "Apple" ## [1] "Orange" ## [1] "Passion fruit" ## [1] "Banana"
R Örnek 2'deki Döngü İçin: 1 ile 4 arasındaki x polinomunu kullanarak doğrusal olmayan bir fonksiyon oluşturur ve bunu bir listede saklarız
# Create an empty list list <- c() # Create a for statement to populate the list for (i in seq(1, 4, by=1)) { list[[i]] <- i*i } print(list)
Çıktı:
## [1] 1 4 9 16
For döngüsü, makine öğrenimi görevleri için çok değerlidir. Bir modeli eğittikten sonra, aşırı uyumu önlemek için modeli düzenli hale getirmemiz gerekir. Düzenlileştirme çok sıkıcı bir iştir çünkü kayıp fonksiyonunu en aza indiren değeri bulmamız gerekir. Bu değerleri tespit etmemize yardımcı olması için, bir dizi değer üzerinde yineleme yapmak ve en iyi adayı tanımlamak için for döngüsünden yararlanabiliriz.
Bir liste üzerinde döngü için
Bir liste üzerinde döngü yapmak, bir vektör üzerinde döngü yapmak kadar kolay ve kullanışlıdır. Bir örnek görelim
# Create a list with three vectors fruit <- list(Basket = c('Apple', 'Orange', 'Passion fruit', 'Banana'), Money = c(10, 12, 15), purchase = FALSE) for (p in fruit) { print(p) }
Çıktı:
## [1] "Apple" "Orange" "Passion fruit" "Banana" ## [1] 10 12 15 ## [1] FALSE
Bir matris üzerinde döngü için
Bir matrisin 2 boyutu, satırları ve sütunları vardır. Bir matris üzerinde yineleme yapmak için, biri satırlar için, diğeri sütun için olmak üzere iki for döngüsü tanımlamamız gerekir.
# Create a matrix mat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2) # Create the loop with r and c to iterate over the matrix for (r in 1:nrow(mat)) for (c in 1:ncol(mat)) print(paste("Row", r, "and column",c, "have values of", mat[r,c]))
Çıktı:
## [1] "Row 1 and column 1 have values of 10" ## [1] "Row 1 and column 2 have values of 16" ## [1] "Row 2 and column 1 have values of 11" ## [1] "Row 2 and column 2 have values of 17" ## [1] "Row 3 and column 1 have values of 12" ## [1] "Row 3 and column 2 have values of 18" ## [1] "Row 4 and column 1 have values of 13" ## [1] "Row 4 and column 2 have values of 19" ## [1] "Row 5 and column 1 have values of 14" ## [1] "Row 5 and column 2 have values of 20" ## [1] "Row 6 and column 1 have values of 15" ## [1] "Row 6 and column 2 have values of 10"