r - 提高循环需要多个数据帧作为参数的用户定义函数时的效率
问题描述
如果这是一个非常简单的问题,我深表歉意,但我似乎无法找到可行的解决方案。我创建了一个需要三个输入、两个数据框和一个值的函数。我需要使用相同的输入多次运行此函数,但种子不同。我设法创建了一个 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)
我在这里先向您的帮助表示感谢
解决方案
推荐阅读
- flutter - 如何使文本在 Flutter 中的所有屏幕尺寸上都显示相同
- php - 如何使用 Kubernetes API 处理流响应?
- python - 破折号 DataTable 中的 JSON 数据无效参数
- typescript - TypeScript:“动态值”分配的变量类型?
- python - 如何在 Django 的装饰器中返回错误消息?
- sql - 用共同元素对“组”进行分组
- python - 如何仅打印文件中的匹配行?
- macos - 为 github 生成 SSH 密钥:“zsh: command not found: $”
- python - 如何用另一列的特定类别的平均值填充列的缺失值?
- sql-server - 使用存储过程更新字段,其中字段的值包含多个 ' '