0
我聽說不建議在R中使用for循環,主要是因爲它的速度很慢。我聽說我應該使用lapply
而不是因爲它調用C來提高效率。帶循環追加的R函數避免使用(使用lapply代替)
問題:是否可以告訴我如何把下面的例子爲lapply
高效的代碼(或來自同一家庭的任何其他apply
sapply
)?
myFun <- function(loop){
result = data.frame() #init new df
for(iteration in 1:loop){
generateRnorm1 = matrix(data = rnorm(n = 1000000), nrow = 10000, ncol = 10000)
generateRnorm2 = matrix(data = rnorm(n = 1000000), nrow = 10000, ncol = 10000)
iterationResult = sum(generateRnorm1, generateRnorm2)
bindIterationResult = cbind(iteration, iterationResult)
result = rbind(result, bindIterationResult)
}
return(result)
}
test = myFun(loop = 10)
參見[伯恩斯[R魔族]的第4章(http://www.burns-stat.com/pages/Tutor/R_inferno.pdf) –
謝謝,我會讀它 – S12000