Untuk-Loop di R DataFrame

Untuk Loop Di R Dataframe



For-loop adalah struktur kontrol yang memungkinkan kita mengulang serangkaian instruksi dalam jumlah waktu tertentu. Ini adalah metode yang umum digunakan untuk iterasi di R, terutama ketika kita perlu melakukan operasi yang sama pada beberapa elemen atau mengulang struktur data seperti yang ada di DataFrame. Baris dan kolom membentuk DataFrames di R di mana setiap baris mewakili satu pengamatan dan setiap kolom menunjukkan variabel atau aspek dari pengamatan itu.

Dengan artikel khusus ini, kami menggunakan for-loop untuk mengulangi DataFrame dengan pendekatan yang berbeda. Ketahuilah bahwa iterasi for-loop di seluruh baris dan kolom bisa sangat komputasional untuk DataFrames yang besar.







Contoh 1: Menggunakan Baris For-Loop Over DataFrame di R

For-loop di R dapat digunakan untuk mengulang baris DataFrame. Di dalam for-loop, kita dapat menggunakan indeks baris untuk mengakses setiap baris DataFrame. Mari pertimbangkan kode R berikut yang merupakan demonstrasi for-loop untuk mengulangi baris DataFrame yang ditentukan.



data = data.bingkai(c1 = c(1:5),

c2 = c(6:10),

c3 = c(11:15))

untuk(i dalam 1:nrow(data)) {

baris <- data[i, ]

cetak (baris)

}

Di sini, pertama-tama kita mendefinisikan fungsi data.frame() di dalam “data”. Fungsi data.frame() di sini berisi tiga kolom. Setiap kolom diatur dengan urutan angka dari 1 sampai 5, 6 sampai 10, dan 11 sampai 15, masing-masing. Setelah itu, fungsi for-loop dikerahkan yang mengulangi baris 'data' DataFrame menggunakan fungsi nrow() untuk mendapatkan jumlah total baris. Variabel loop, 'i', mengambil nilai ke seluruh jumlah baris dalam 'data'.



Kemudian, kami mengekstrak baris ke-i dari 'data' DataFrame menggunakan notasi tanda kurung siku '[ ]'. Baris yang diekstrak disimpan dalam variabel “baris” yang akan dicetak oleh fungsi print().





Oleh karena itu, loop mengulang semua baris dalam DataFrame dan menampilkan nomor baris dalam output bersama dengan nilai kolom.



Contoh 2: Menggunakan Kolom For-Loop Over DataFrame

Demikian pula, kita dapat menggunakan for-loop di R untuk mengulang kolom dari kerangka data yang ditentukan. Kita dapat menggunakan kode sebelumnya untuk mengulang kolom tetapi kita harus menggunakan fungsi ncol() di for-loop. Sebaliknya, kami memiliki pendekatan paling sederhana untuk mengulang kolom DataFrame menggunakan for-loop. Pertimbangkan kode R berikut untuk ini:

df = data.frame(col1 = c(10, 20, 30, 40, 50),

col2 = c(11, 21, 31, 41, 51),

col3 = c(12, 22, 32, 42, 52))

for(col in colnames(df)) {

kolom <- df[[kolom]]

cetak (kolom)

}

Di sini, pertama-tama kita membuat variabel df tempat data.frame() digunakan dengan penyisipan kolom. DataFrame 'df' berisi tiga kolom yang berisi nilai numerik. Selanjutnya, kami menggunakan for-loop untuk mengulangi nama kolom dari DataFrame 'data' menggunakan fungsi colnames() . Di setiap iterasi, variabel loop 'col' mengambil nama kolom saat ini. Kolom yang diekstraksi kemudian disimpan dalam variabel baru yaitu 'kolom'.

Dengan demikian, data variabel 'kolom' mencetak output pada konsol berikut:

Contoh 3: Menggunakan For-Loop di Seluruh DataFrame

Pada contoh sebelumnya, kita mengulang kolom dan baris masing-masing menggunakan for-loop. Sekarang, kami menggunakan for loop bersarang untuk mengulangi baris dan kolom DataFrame, secara bersamaan. Kode R disediakan berikut ini di mana for-loop bersarang digunakan di atas kolom dan baris:

karyawan <- data.frame(id=1:4,

nama=c('kim', 'John', 'Ian', 'Mark'),

lokasi=c('Australia', 'Amerika', 'Kanada', 'Yordania'),

gaji=c(2000, 1800, 1500, 1000))

untuk (baris dalam 1:nrow(karyawan)) {

for (col in 1:ncol(employees)) {

print(paste('Indeks baris', baris, 'nama kolom', col, 'nilai sel', karyawan[baris, kolom]))

}

}

Di sini, kita mendeklarasikan variabel “employees” tempat data.frame() dipanggil untuk menyetel kolom. Nilai di setiap kolom ditentukan menggunakan vektor. Kemudian, untuk baris dan kolom DataFrame 'karyawan', kami menggunakan dua for-loop bersarang untuk mengulang data. Loop luar mengulangi baris DataFrame yang ditentukan menggunakan '1:nrow(karyawan)'. Untuk setiap baris, “1:ncol(employees)” digunakan di loop dalam untuk mengulang berulang kali pada kolom DataFrame.

Setelah itu, kita memiliki fungsi print() di dalam loop bersarang yang menerapkan fungsi paste() untuk menggabungkan indeks baris, indeks kolom, dan nilai sel menjadi satu string. Ekspresi karyawan [baris, kolom] di sini mendapatkan nilai dalam sel saat ini di mana baris dan kolom masing-masing adalah indeks baris dan kolom yang ada.

Dengan demikian, output pada konsol diambil dengan indeks baris gabungan, indeks kolom, dan nilai sel menjadi satu string.

Contoh 4: Metode Alternatif For-Loop di R

Perulangan for sekarang sudah usang dalam bahasa R. Namun, ini menyediakan beberapa metode alternatif yang bekerja sama dengan for-loop dan lebih cepat daripada for-loop. Metodenya berasal dari fungsi 'apply family' yang menjalankan for-loop di latar belakang untuk melakukan iterasi melalui DataFrames. Mari pertimbangkan kode R berikut di mana fungsi sapply() digunakan untuk mengulang DataFrame.

dfX <- data.frame(var1=c(1:5),

var2=c(6:10),

var3=c(11:15),

var4=c(16:20))

dfX

sapply(dfX, sum)

Di sini, pertama-tama kita buat DataFrame 'dfX' dengan memanggil fungsi data.frame() dengan dua kolom, masing-masing berisi nilai numerik. Kami kemudian mencetak DataFrame 'dfX' asli ke konsol. Pada langkah selanjutnya, kita menggunakan fungsi sapply() untuk melakukan iterasi pada DataFrame yang disediakan dan mendapatkan jumlah dari setiap kolom. Fungsi sapply() mengambil argumen “x” dan “FUN” secara umum. Dalam hal ini, X adalah DataFrame 'dfX', dan 'FUN' adalah fungsi sum() yang diterapkan ke setiap kolom DataFrame.

Hasil iterasi yang dicapai melalui fungsi sapply() dicapai di layar berikut. Hasil operasi penjumlahan DataFrame ditampilkan untuk setiap kolom. Selain itu, kita juga dapat menggunakan beberapa fungsi lain dari 'keluarga aplikasi' untuk operasi for-loop di R:

Kesimpulan

Kami bekerja dengan for-loop untuk mengulangi baris atau kolom DataFrame untuk melakukan operasi tertentu. for-loop digunakan secara individual untuk mengulang kolom dan baris. Selain itu, kami menggunakan ini untuk iterasi pada kolom dan baris kerangka data secara bersamaan. Seringkali, menerapkan fungsi untuk mendapatkan hasil yang diinginkan lebih efektif. Contoh dari fungsi apply diberikan pada contoh terakhir pada operasi for-loop.