使用內建函式
內建函式:lapply(),sapply()和 mapply()
R 帶有內建函式,其中最著名的可能是應用功能系列。以下是一些最常見的應用函式的說明:
lapply()=將列表作為引數,並將指定的函式應用於列表。sapply()=與lapply()相同,但嘗試將輸出簡化為向量或矩陣。vapply()=sapply()的變體,其中必須指定輸出物件的型別。
mapply()=喜歡lapply()但可以將多個向量作為輸入傳遞給指定的函式。可以簡化為sapply()。Map()是mapply()與SIMPLIFY = FALSE的別名。
lapply()
lapply() 可以用於兩個不同的迭代:
lapply(variable, FUN)lapply(seq_along(variable), FUN)
# Two ways of finding the mean of x
set.seed(1)
df <- data.frame(x = rnorm(25), y = rnorm(25))
lapply(df, mean)
lapply(seq_along(df), function(x) mean(df[[x]))
sapply()
sapply() 將嘗試將其輸出解析為向量或矩陣。
# Two examples to show the different outputs of sapply()
sapply(letters, print) ## produces a vector
x <- list(a = 1:10, beta = exp(-3:3), logic = c(TRUE,FALSE,FALSE,TRUE))
sapply(x, quantile) ## produces a matrix
mapply()
mapply() 很像 lapply(),除了它可以將多個向量作為輸入(因此 m 為多變數)。
mapply(sum, 1:5, 10:6, 3) # 3 will be "recycled" by mapply