NIM : 210605110007

Lembaga: “Universitas Islam Negeri Maulana Malik Ibrahim Malang”

Fakultas: “Sains dan Teknologi”

Jurusan: “Teknik Informatika”

Fungsi Laplly

Fungsi ini melakukan loop fungsi terhadap input data berupa list. Output yang dihasilkan juga merupakan list dengan panjang list yang sama dengan yang diinputkan.

Berikut sintaks yang digunalkan untuk mengopreasikan lapply:

lapply(X, FUN, ...)

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.
  • … : Opsional argumen pada fungsi yang digunakan.

Berikut adalah contoh penerapan fungsi lapply:

## Membuat list
x <- list(a = 1:10, beta = exp(-3:3), logic = c(TRUE,FALSE,FALSE,TRUE))
x # print
## $a
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $beta
## [1]  0.04978707  0.13533528  0.36787944  1.00000000  2.71828183  7.38905610
## [7] 20.08553692
## 
## $logic
## [1]  TRUE FALSE FALSE  TRUE
class(x) # cek kelas objek
## [1] "list"
## Menghitung nilai mean pada masing-masing baris lits
lapply(x, FUN=mean)
## $a
## [1] 5.5
## 
## $beta
## [1] 4.535125
## 
## $logic
## [1] 0.5
## Menghitung mean tiap kolom dataset iris
lapply(iris, FUN=mean)
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## $Sepal.Length
## [1] 5.843333
## 
## $Sepal.Width
## [1] 3.057333
## 
## $Petal.Length
## [1] 3.758
## 
## $Petal.Width
## [1] 1.199333
## 
## $Species
## [1] NA
## Mengalikan elemen vektor dengan suatu nilai
y <- c(1:5)
lapply(y, FUN=function(x){x*5})
## [[1]]
## [1] 5
## 
## [[2]]
## [1] 10
## 
## [[3]]
## [1] 15
## 
## [[4]]
## [1] 20
## 
## [[5]]
## [1] 25
## Mengalikan elemen vektor dengan suatu nilai
y <- c(1:5)
lapply(y, FUN=function(x){x*5})
## [[1]]
## [1] 5
## 
## [[2]]
## [1] 10
## 
## [[3]]
## [1] 15
## 
## [[4]]
## [1] 20
## 
## [[5]]
## [1] 25

Referensi

  1. https://bookdown.org/moh_rosidi2610/Metode_Numerik/programmingandfunction.html#lapply
  2. https://github.com/endymuhardin/buku-pandoc/blob/master/buku/02-markdown.md