使用apply、sapply、lapply
https://www.r-bloggers.com/using-apply-sapply-lapply-in-r/
Data
m <- matrix(data=cbind(rnorm(30, 0), rnorm(30, 2), rnorm(30, 5)), nrow=30, ncol=3)
# method1 method2 method3
#[1,] 0.05517714 0.014054038 0.017260447
#[2,] 0.08367678 0.003570883 0.004289079
#[3,] 0.05274706 0.028629661 0.071323030
#[4,] 0.06769936 0.048446559 0.057432519
#[5,] 0.06875188 0.019782518 0.080564474
#[6,] 0.04913779 0.100062929 0.102208706
apply
#apply(m, 1, mean)
apply(m, 1, mean) #calculate mean by row
# [1] 2.408150 2.709325 1.718529 0.822519 2.693614 2.259044 1.849530 2.544685 2.957950 2.219874
#[11] 2.582011 2.471938 2.015625 2.101832 2.189781 2.319142 2.504821 2.203066 2.280550 2.401297
#[21] 2.312254 1.833903 1.900122 2.427002 2.426869 1.890895 2.515842 2.363085 3.049760 2.027570
apply(m, 2, mean) #calculate mean by column
#[1] -0.02664418 1.95812458 4.86857792
apply(m, 2, function(x) is.matrix(x))
#[1] FALSE FALSE FALSE
sapply
sapply和lapply都會將公式帶入到輸入檔案的每個元素上,差別在於傳回值: sapply傳回一個vector lapply傳回一個list
sapply(1:3, function(x) x^2)
#[1] 1 4 9
lapply(1:3, function(x) x^2)
#[[1]]
#[1] 1
#
#[[2]]
#[1] 4
#
#[[3]]
#[1] 9