【发布时间】:2016-11-26 13:45:43
【问题描述】:
我听说不建议在 R 中使用 for 循环,主要是因为它很慢。我听说我应该改用 lapply,因为它调用 C 是为了提高效率。
问题:能否告诉我如何将以下示例转换为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)
【问题讨论】:
-
见Burns R inferno第4章
-
谢谢我会阅读它
标签: r function functional-programming lapply