Sapply

Sapply?

Apa itu fungsi sapply? Fungsi sapply adalah fungsi vector dari keluarga apply yang memungkinkan kita untuk mengulangi list atau vector tanpa perlu membuat for loop yang lambat dijalankan pada R. Berikut beberapa contoh penggunaan fungsi sapply :

How to use sapply in R?

sapply(1:4, sqrt)
## [1] 1.000000 1.414214 1.732051 2.000000
# Equivalent to :
sapply(1:4, function(i) sqrt(i))
## [1] 1.000000 1.414214 1.732051 2.000000
# Also equivalent to:
my_function <- function(i) {
  sqrt(i)
}

sapply(1:4, my_function)
## [1] 1.000000 1.414214 1.732051 2.000000

Iterate over a vector

# Use loop
out <- numeric(20)
for(i in 1:20) {
  out[i] <- i^2
}
out
##  [1]   1   4   9  16  25  36  49  64  81 100 121 144 169 196 225 256 289 324 361
## [20] 400

Output yang sama juga dapat diperoleh dengan menggunakan fungsi sapply dengan lebih sederhana. Let’s try !!

# Use sapply
sapply(1:20, function(i) {i^2})
##  [1]   1   4   9  16  25  36  49  64  81 100 121 144 169 196 225 256 289 324 361
## [20] 400

Iterate over a list

(List <- list(A = 1:10, B = 11:30, C = 5))
## $A
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $B
##  [1] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
## 
## $C
## [1] 5
# menghitung jumlah komponen dari setiap elemen list dengan fungsi length
sapply(List, length)
##  A  B  C 
## 10 20  1