You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用sample_frac在循环中每次生成相同的随机样本?

解决方法

要实现每次循环调用采样函数得到完全相同的随机样本,核心逻辑是固定每次采样时的随机种子:R的随机数生成结果由当前随机种子决定,只要每次采样前将种子设置为同一个固定值,就能得到完全一致的随机输出。

修改后代码

library(dplyr)

tbl = tibble(val = 1:50)

for (i in 1:3)
{
   # 每次采样前设置相同的固定随机种子,参数可自定义为任意整数,固定即可
   set.seed(123)
   tbl_sample = tbl %>% sample_frac(0.1)
   print(tbl_sample)
}

补充说明

  • set.seed()的入参可以替换为任意整数,只要保证每次循环调用时参数值固定,就能实现三次采样结果完全一致。
  • 如果你使用的是dplyr 1.0.0及以上版本,sample_frac()已被软弃用,更推荐使用slice_sample()函数实现相同的按比例采样功能,写法为:tbl %>% slice_sample(prop = 0.1)。

内容的提问来源于stack exchange,提问作者SiH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:09:03