set.seed(3)
myvec <- rnorm(1000)
output <- vector("list", length = length(myvec))
for(i in 1:length(myvec)){
output[[i]] <- floor(myvec[i])^2 + exp(myvec[i])^2/2
}
假设我有一个预先指定的数字向量,称为myvec
.我想循环遍历每个元素,最终输出是一个列表.
使用for loop
可能是非常低效的.同样,使用lapply
也相当慢.
output <- lapply(1:length(myvec), function(i){
floor(myvec[i])^2 + exp(myvec[i])^2/2
})
有没有比这更快的替代方案?我在上面编的函数是一个玩具函数.实际上,我运行的函数比floor(myvec[i])^2 + exp(myvec[i])^2/2
复杂得多,所以我正在寻找for loop
和lapply
的替代品.