ID EN
Apply Functions

lapply

R Base 3.6.2 🇮🇩 Bahasa Indonesia

lapply mengembalikan daftar dengan panjang yang sama dengan X, setiap elemennya merupakan hasil penerapan FUN ke elemen X yang bersangkutan. sapply adalah versi yang mudah digunakan dan pembungkus lapply secara default mengembalikan vektor, matriks atau, jika sederhanakan = "array", sebuah larik jika sesuai, dengan menerapkan simplify2array(). sapply(x, f, simplify = FALSE, USE.NAMES = FALSE) sama dengan lapply(x, f). vapply mirip dengan sapply, namun memiliki jenis nilai pengembalian yang telah ditentukan sebelumnya, sehingga lebih aman (dan terkadang lebih cepat) untuk digunakan. replikasi adalah pembungkus untuk penggunaan umum sapply untuk evaluasi ekspresi berulang (yang biasanya melibatkan pembuatan angka acak). simplify2array() adalah utilitas yang dipanggil dari sapply() ketika penyederhanaan tidak salah dan juga dipanggil dari mapply().

Syntax

R
lapply(X, FUN, &#8230;)<p></p><p>sapply(X, FUN, &#8230;, simplify = TRUE, USE.NAMES = TRUE)</p><p>vapply(X, FUN, FUN.VALUE, &#8230;, USE.NAMES = TRUE)</p><p>replicate(n, expr, simplify = "array")</p><p>simplify2array(x, higher = TRUE)</p>

Arguments

Parameter Deskripsi
X a vector (atomic or list) or an expression object. Other objects (including classed objects) will be coerced by base::as.list.
FUN the function to be applied to each element of X: see ‘Details’. In the case of functions like +, %*%, the function name must be backquoted or quoted.
&#8230; optional arguments to FUN.
simplify logical or character string; should the result be simplified to a vector, matrix or higher dimensional array if possible? For sapply it must be named and not abbreviated. The default value, TRUE, returns a vector or matrix if appropriate, whereas if simplify = "array" the result may be an array of “rank” (\(=\)length(dim(.))) one higher than the result of FUN(X[[i]]).
USE.NAMES logical; if TRUE and if X is character, use X as names for the result unless it had names already. Since this argument follows … its name cannot be abbreviated.
FUN.VALUE a (generalized) vector; a template for the return value from FUN. See ‘Details’.
n integer: the number of replications.
expr the expression (a language object, usually a call) to evaluate repeatedly.
x a list, typically returned from lapply().
higher logical; if true, simplify2array() will produce a (“higher rank”) array when appropriate, whereas higher = FALSE would return a matrix (or vector) only. These two cases correspond to sapply(*, simplify = "array") or simplify = TRUE, respectively.

Return Value

Untuk lapply, sapply(simplify = FALSE) dan replica(simplify = FALSE), sebuah daftar. Untuk sapply(simplify = TRUE) dan replica(simplify = TRUE): jika X memiliki panjang nol atau n = 0, daftar kosong. Jika tidak, vektor atom atau matriks atau daftar dengan panjang yang sama dengan X (dengan panjang n untuk replikasi). Jika terjadi penyederhanaan, tipe output ditentukan dari tipe nilai kembalian tertinggi dalam hierarki NULL < mentah < logis < bilangan bulat < ganda < kompleks < karakter < daftar < ekspresi, setelah paksaan p

Details

FUN ditemukan dengan panggilan ke match.fun dan biasanya ditentukan sebagai fungsi atau simbol (misalnya, nama dengan tanda kutip balik) atau string karakter yang menentukan fungsi yang akan dicari dari lingkungan panggilan ke lapply. Fungsi FUN harus dapat menerima salah satu elemen dari X sebagai masukan. Jika yang terakhir adalah vektor atom, FUN akan selalu diteruskan dengan vektor panjang satu yang bertipe sama dengan X. Argumen dalam … tidak boleh mempunyai nama yang sama dengan argumen lainnya, dan kehati-hatian mungkin diperlukan untuk menghindari pencocokan sebagian dengan FUN. Dalam kode tujuan umum, praktik yang baik adalah memberi nama pada dua argumen pertama X dan FUN jika … diteruskan: hal ini menghindari pencocokan parsial ke FUN dan memastikan bahwa pesan kesalahan yang masuk akal diberikan jika argumen bernama X atau FUN diteruskan …. Penyederhanaan di sap

Contoh

Example
R
# NOT RUN {
require(stats); require(graphics)

x <- list(a = 1:10, beta = exp(-3:3), logic = c(TRUE,FALSE,FALSE,TRUE))
# compute the list mean for each list element
lapply(x, mean)
# median and quartiles for each list element
lapply(x, quantile, probs = 1:3/4)
sapply(x, quantile)
i39 <- sapply(3:9, seq) # list of vectors
sapply(i39, fivenum)
vapply(i39, fivenum,
       c(Min. = 0, "1st Qu." = 0, Median = 0, "3rd Qu." = 0, Max. = 0))

## sapply(*, "array") -- artificial example
(v <- structure(10*(5:8), names = LETTERS[1:4]))
f2 <- function(x, y) outer(rep(x, length.out = 3), y)
(a2 <- sapply(v, f2, y = 2*(1:5), simplify = "array"))
a.2 <- vapply(v, f2, outer(1:3, 1:5), y = 2*(1:5))
stopifnot(dim(a2) == c(3,5,4), all.equal(a2, a.2),
          identical(dimnames(a2), list(NULL,NULL,LETTERS[1:4])))

hist(replicate(100, mean(rexp(10))))

## use of replicate() with parameters:
foo <- function(x = 1, y = 2) c(x, y)
# does not work: bar <- function(n, ...) replicate(n, foo(...))
bar <- function(n, x) replicate(n, foo(x = x))
bar(5, x = 3)
# }

See Also

apply tapply mapply for applying a function to multiple arguments and rapply for a recursive version of lapply() eapply for applying a function to each entry in an environment.