NIM = 210605110007

Jurusan = Teknik Informtika

fakultas = Sains dan Teknologi

Fungsi Vapply

Funsgi ini merupakan bentuk lain dari sapply(). Bedanya secara kecepatan proses fungsi ini lebih cepat dari sapply(). Hal yang menarik dari fungsi ini kita dapat menambahkan argumen FUN.VALUE. pada argumen ini kita memasukkan vektor berupa output fungsi yang diinginkan. Perbedaan lainnya adalah output yang dihasilkan hanya berupa matriks atau array.

Berikut sintaks yang digunakan untuk mengoperasikan Vapply:

vapply(X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE)

Catatan:

  • X : vektor, data frame atau list
  • FUN : fungsi yang akan digunakan. Fungsi yang dapat digunakan dapat berupa fungsi dasar matematika atau statistika, serta user define function. Subset juga dimungkinkan pada fungsi ini.
  • FUN.VALUE : vektor, template dari return value FUN.
  • … : opsional argumen pada fungsi yang digunakan.
  • USE.NAMES : jika list memiliki nama pada setiap elemennya, maka nama element tersebut akan secara default ditampilkan.

Berikut adalah contoh penerapannya:

## membuat list
x <- sapply(3:9, seq)
x # print
## [[1]]
## [1] 1 2 3
## 
## [[2]]
## [1] 1 2 3 4
## 
## [[3]]
## [1] 1 2 3 4 5
## 
## [[4]]
## [1] 1 2 3 4 5 6
## 
## [[5]]
## [1] 1 2 3 4 5 6 7
## 
## [[6]]
## [1] 1 2 3 4 5 6 7 8
## 
## [[7]]
## [1] 1 2 3 4 5 6 7 8 9
## membuat ringkasan data pada tiap elemen list
vapply(x, fivenum,
       c(Min. = 0, "1st Qu." = 0, 
         Median = 0, "3rd Qu." = 0, Max. = 0))
##         [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## Min.     1.0  1.0    1  1.0  1.0  1.0    1
## 1st Qu.  1.5  1.5    2  2.0  2.5  2.5    3
## Median   2.0  2.5    3  3.5  4.0  4.5    5
## 3rd Qu.  2.5  3.5    4  5.0  5.5  6.5    7
## Max.     3.0  4.0    5  6.0  7.0  8.0    9
## membuat ringkasan data pada tiap kolom dataframe
vapply(mtcars, summary,
       c(Min. = 0, "1st Qu." = 0, 
         Median = 0, "3rd Qu." = 0, Max. = 0, Mean=0))
##              mpg    cyl     disp       hp     drat      wt     qsec     vs
## Min.    10.40000 4.0000  71.1000  52.0000 2.760000 1.51300 14.50000 0.0000
## 1st Qu. 15.42500 4.0000 120.8250  96.5000 3.080000 2.58125 16.89250 0.0000
## Median  19.20000 6.0000 196.3000 123.0000 3.695000 3.32500 17.71000 0.0000
## 3rd Qu. 20.09062 6.1875 230.7219 146.6875 3.596563 3.21725 17.84875 0.4375
## Max.    22.80000 8.0000 326.0000 180.0000 3.920000 3.61000 18.90000 1.0000
## Mean    33.90000 8.0000 472.0000 335.0000 4.930000 5.42400 22.90000 1.0000
##              am   gear   carb
## Min.    0.00000 3.0000 1.0000
## 1st Qu. 0.00000 3.0000 2.0000
## Median  0.00000 4.0000 2.0000
## 3rd Qu. 0.40625 3.6875 2.8125
## Max.    1.00000 4.0000 4.0000
## Mean    1.00000 5.0000 8.0000

Referensi:

  1. https://bookdown.org/moh_rosidi2610/Metode_Numerik/programmingandfunction.html#vapply