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.

R'deki Döngü İçin
R'deki Döngü İçin

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"