Menghitung jumlah per baris
Bottleneck kedua yang teridentifikasi adalah menghitung jumlah per baris.
total <- apply(d, 1, sum)
Pada latihan sebelumnya Anda mengubah objek dasar menjadi matriks. Ini membuat operasi apply di atas menjadi tiga kali lebih cepat.
Namun masih ada satu pengoptimalan lagi yang dapat Anda gunakan — ganti apply() dengan rowSums().
Latihan ini adalah bagian dari kursus
Menulis Kode R yang Efisien
Petunjuk latihan
- Lengkapi fungsi
r_sum()menggunakanrowSums(). - Gunakan fungsi
microbenchmark()untuk membandingkan waktu eksekusiapp()danr_sum().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Example data
rolls
# Define the previous solution
app <- function(x) {
apply(x, 1, sum)
}
# Define the new solution
r_sum <- function(x) {
___(x)
}
# Compare the methods
microbenchmark(
app_sol = app(rolls),
r_sum_sol = ___
)