gpt4 book ai didi

r - 将此循环翻译成purr?

转载 作者:行者123 更新时间:2023-12-04 22:54:24 25 4
gpt4 key购买 nike

我正在尝试制作一个关于采样的教学示例供学生运行,但是当迭代次数达到数千时,结果太慢了(真实数据框 df 有几百万行)。

我可以用 purr 加快速度吗? ?

library(tidyverse)
set.seed(1432)
df <- data.frame(v1 = sample(1:10, 100, replace=TRUE),
v2 = c(rep("A", 50), rep("B", 50))
)

output <- NULL

for (i in 1:10) {
set.seed(i)
d <- df %>%
filter(v2=="A") %>%
sample_n(20, replace=FALSE)

mean = mean(d$v1)
output <- c(output, mean)
}

output

最佳答案

您可以使用 purrr如下。

map_dbl(1:10, function(x){
set.seed(x)
d <- df %>%
filter(v2=="A") %>%
sample_n(20, replace=FALSE)

return(mean(d$v1))
})
# [1] 5.15 5.90 5.70 5.55 5.60 4.95 5.40 5.40 5.65 5.40

关于r - 将此循环翻译成purr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58612572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com