Pengertian Iterasi

Iterasi dalam pemrograman adalah proses mengulang suatu instruksi atau blok kode berkali-kali sampai kondisi tertentu tercapai. Dalam bahasa R, fungsi-fungsi seperti apply, sapply, dan tapply digunakan untuk melakukan iterasi secara efisien terhadap struktur data seperti vektor, matriks, dan data frame.

Perbandingan Fungsi apply, sapply, dan tapply

Kategori Apply Sapply Tapply
Pengertian Menerapkan fungsi ke baris atau kolom dari sebuah matriks atau array. Menerapkan fungsi ke setiap elemen list atau vektor dan menyederhanakan output Menerapkan fungsi pada subset data berdasarkan level faktor
Fungsi Menghitung statistik (rata-rata, jumlah, dll) setiap baris atau kolom Digunakan untuk melakukan operasi vector atau list dan mengembalikan hasil sebagai vector. Membuat ringkasan data berkelompok
Struktur Input Matriks atau array Vektor atau list Vektor dan faktor
Output Matriks, array, atau vektor Vektor, matriks, atau list Vektor, array, atau list
Syntax apply(x, margin, fun, …) sapply(x, fun, …) tapply(x, index, fun, simplify=TRUE)

Contoh Penggunaan Apply

# Data contoh
mat <- matrix(1:9, nrow = 3)
mat
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9
# Apply: jumlah per baris dan kolom
apply(mat, 1, sum)  # Baris
## [1] 12 15 18
apply(mat, 2, sum)  # Kolom
## [1]  6 15 24

Contoh Penggunaan Sapply

# Sapply: panjang karakter tiap elemen
kata <- c("apel", "jeruk", "mangga")
sapply(kata, nchar)
##   apel  jeruk mangga 
##      4      5      6

Contoh Penggunaan Tapply

# Tapply: rata-rata nilai berdasarkan kelompok
nilai <- c(80, 90, 85, 70, 60)
kelompok <- factor(c("A", "A", "B", "B", "B"))
tapply(nilai, kelompok, mean)
##        A        B 
## 85.00000 71.66667

Kesimpulan

Fungsi iterasi apply, sapply, dan tapply di R sangat berguna untuk mempercepat dan menyederhanakan pengolahan data. Masing-masing memiliki kegunaan spesifik:

  • apply() cocok untuk operasi baris atau kolom pada matriks/data frame
  • sapply() berguna untuk list dan vektor, hasilnya berupa vektor
  • tapply() sangat bermanfaat untuk menganalisis data berdasarkan kelompok (faktor)