R Apply Functions

Using apply family functions for iteration

apply()

mat <- matrix(1:12, nrow=3) # create matrix
apply(mat, 1, sum) # apply to rows (margin=1)
apply(mat, 2, mean) # apply to columns (margin=2)

lapply()

lst <- list(c(1,2,3), c(4,5,6))
lapply(lst, sum) # returns list
lapply(lst, function(x) x*2) # custom function

sapply()

vec <- c(1, 2, 3, 4, 5)
sapply(vec, function(x) x^2) # returns vector/matrix
sapply(lst, mean) # simplifies output

vapply()

vapply(vec, function(x) x*2, numeric(1)) # specify return type

mapply()

mapply(sum, c(1,2,3), c(4,5,6)) # multivariate apply

tapply()

data <- c(1,2,3,4,5,6)
groups <- c("A","B","A","B","A","B")
tapply(data, groups, sum) # apply by groups