如果这是一个非常简单的问题,我深表歉意,但似乎无法找到可行的解决方案。我创建了一个需要三个输入,两个数据帧和一个值的函数。我需要使用相同的输入但使用不同的种子多次运行此函数。我设法创建了一个for循环,如下面的循环,该循环可以满足我的需要,但速度确实很慢。我想知道是否有任何方法可以提高此循环的速度。我尝试使用lapply和purr :: map,但是我似乎无法根据需要获取多个输入。
#Simple example version of the code I have for demonstration
library(dplyr)
exampe_function <- function(df1 ,df2, singlevalue){
df3 <- sample_frac(df1, size = 1, replace = TRUE)
temp <- df3[1] + df2[1]
out <- temp[1,1] * singlevalue #Only need a single value
return(out)
}
example_df1 <- data.frame(x = rnorm(10), y = rnorm(10))
example_df2 <- data.frame(x = rnorm(10), y = rnorm(10))
singlevalue <- 0.5
test <- exampe_function(example_df1, example_df2, singlevalue)
test_list <- list()
for (i in 1:10) {
print(i)
t <- exampe_function(example_df1, example_df2, singlevalue)
test_list <- c(test_list, t)
}
unlist(test_list)
感谢您的提前帮助