# vector test m <- 10000 system.time({y <- c(); for (t in 1:m) y[t] <- exp(t)}) system.time({y=exp(1:m)}) system.time({y=sapply(1:m,exp)}) # Loop speed test MeanFor <- function(mat) { # This returns the columnwise mean for the given matrix. # # Args: # mat: a matrix # # Returns: # a vector of columnwise means # preallocate result vector res <- rep(NA, ncol(mat)) for (nCol in 1:ncol(mat)) { res[nCol] <- mean(mat[,nCol]) } return(res) } n = 100 m = 10000 A = matrix(runif(n * m), ncol = m) print(system.time(resMeanFor <- MeanFor(A))) print(system.time(resRowMeans <- colMeans(A))) print(system.time(resApply <- apply(A, 2, mean)))