不使用for循环应用用户定义函数

不使用for循环应用用户定义函数,r,apply,user-defined-functions,R,Apply,User Defined Functions,我试图使用一个自定义函数来解决参数的多重排列 当我调用函数(yield.n)一次时,它运行良好,例如: 产量n(naa、F、M、S、Y) naa是一个大数据帧(750000 x 17),F、M和Y是数字对象,S是向量 我想用这个函数来解Y的各种值。我尝试了apply族的多种排列,但我无法写出函数代码。 如果我对Y(代码blow)的值运行for循环,它可以正确地求解,但速度非常慢 yn.out <- NULL                                         

我试图使用一个自定义函数来解决参数的多重排列

当我调用函数(yield.n)一次时,它运行良好,例如: 产量n(naa、F、M、S、Y) naa是一个大数据帧(750000 x 17),F、M和Y是数字对象,S是向量

我想用这个函数来解Y的各种值。我尝试了apply族的多种排列,但我无法写出函数代码。 如果我对Y(代码blow)的值运行for循环,它可以正确地求解,但速度非常慢

yn.out <- NULL                                        
    for(yr in 50:150){                               
           yr.out <- yield.n(naa, ssf, M, S, yr)         
           yr.out <- cbind(yr.out, yr)                       
           yn.out <- rbind(yn.out, yr.out)
        }

yn.out <- as.data.frame(yn.out)
yn.out尝试以下操作:

yn.out <- do.call(rbind, lapply(50:150, function(y) 
                  cbind(yield.n(naa, F, M, S, y), yr = y)))
yn.out <- do.call(rbind, lapply(50:150, function(y) 
                  cbind(yield.n(naa, F, M, S, y), yr = y)))
yn.out <- purrr::map_df(50:150, ~cbind(yield.n(naa, F, M, S, .x), yr = .x))