MulaiMulai sekarang secara gratis

Melakukan loop pada baris data frame

Bayangkan Anda tertarik pada hari-hari ketika harga saham Apple naik di atas 117. Jika melewati nilai ini, Anda ingin mencetak tanggal dan harga saham saat itu. Jika Anda memiliki data frame stock dengan kolom date dan apple, bisakah Anda melakukan loop pada baris-baris data frame untuk mencapainya? Tentu bisa!

Sebelum melakukannya, perhatikan bahwa Anda dapat memperoleh jumlah baris dalam data frame menggunakan nrow(stock). Lalu, Anda dapat membuat deret untuk dilalui dengan 1:nrow(stock).

for (row in 1:nrow(stock)) {
    price <- stock[row, "apple"]
    date  <- stock[row, "date"]

    if(price > 117) {
        print(paste("On", date, 
                    "the stock price was", price))
    }
}
[1] "On 2016-12-21 the stock price was 117.06"
[1] "On 2016-12-27 the stock price was 117.26"

Contoh ini menggabungkan beberapa hal yang telah kita pelajari sejauh ini: if statement, penyubsetan vektor, kondisi, dan loop! Selamat atas kemajuan Anda!

Data frame stocks tersedia untuk Anda gunakan.

Latihan ini adalah bagian dari kursus

R Tingkat Menengah untuk Keuangan

Lihat Kursus

Petunjuk latihan

  • Lengkapi bagian kosong dalam for loop agar hal berikut benar:
    • price harus berisi harga pada iterasi tersebut
    • date harus berisi tanggal pada iterasi tersebut
    • Kali ini, Anda ingin mengetahui apakah apple melampaui 116.
    • Jika ya, cetak date dan price.
    • Jika di bawah 116, cetak date dan bahwa itu bukan hari yang penting!

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Loop over stock rows
for (row in 1:___) {
    price <- stock[___, "___"]
    date  <- stock[___, "___"]

    if(___ > ___) {
        print(paste("On", ___, 
                    "the stock price was", ___))
    } else {
        print(paste("The date:", ___, 
                    "is not an important day!"))
    }
}
Edit dan Jalankan Kode