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