R Untuk Loop
Untuk Loop
Loop digunakan untuk for
mengulangi urutan:
Contoh
for (x in 1:10) {
print(x)
}
Ini kurang seperti for
kata kunci dalam bahasa pemrograman lain, dan bekerja lebih seperti metode iterator seperti yang ditemukan dalam bahasa pemrograman berorientasi objek lainnya.
Dengan for
loop kita dapat mengeksekusi satu set pernyataan, sekali untuk setiap item dalam vektor, array, daftar, dll.
Contoh
Cetak setiap item dalam daftar:
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
Contoh
Cetak jumlah dadu:
dice <- c(1, 2, 3, 4, 5, 6)
for (x in dice) {
print(x)
}
Loop for
tidak memerlukan variabel pengindeksan untuk disetel sebelumnya, seperti dengan while
loop.
Merusak
Dengan break
pernyataan tersebut, kita dapat menghentikan loop sebelum loop melewati semua item:
Contoh
Hentikan loop di "cherry":
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "cherry") {
break
}
print(x)
}
Loop akan berhenti di "cherry" karena kita telah memilih untuk mengakhiri loop dengan menggunakan break
pernyataan when
x
sama dengan "cherry" ( x ==
"cherry"
).
Berikutnya
Dengan next
pernyataan tersebut, kita dapat melewati sebuah iterasi tanpa menghentikan perulangan:
Contoh
Lewati "pisang":
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "banana") {
next
}
print(x)
}
Ketika loop melewati "pisang", itu akan melewatinya dan terus mengulang.
Yahtzee!
If .. Else Dikombinasikan dengan For Loop
Untuk mendemonstrasikan contoh praktis, katakanlah kita memainkan permainan Yahtzee!
Contoh
Cetak "Yahtzee!" Jika angka dadu adalah 6:
dice <- 1:6
for(x in dice) {
if (x == 6) {
print(paste("The dice number is", x, "Yahtzee!"))
} else {
print(paste("The dice number is", x, "Not Yahtzee"))
}
}
Jika loop mencapai nilai mulai dari 1 hingga 5, ia mencetak "No Yahtzee" dan nomornya. Ketika mencapai nilai 6, ia mencetak "Yahtzee!" dan nomornya.
Loop Bersarang
Anda juga dapat memiliki loop di dalam loop:
Contoh
Cetak kata sifat setiap buah dalam daftar:
adj <- list("red", "big", "tasty")
fruits <- list("apple", "banana",
"cherry")
for (x in adj) {
for (y in fruits) {
print(paste(x, y))
}
}