【问题标题】:How do I assign a random seed to the dplyr sample_n function?如何为 dplyr sample_n 函数分配随机种子?
【发布时间】:2020-08-16 20:11:27
【问题描述】:

这是来自 dplyr 在 R 中的“sample_n”。
https://dplyr.tidyverse.org/reference/sample.html

为了重现性,我应该放置一个种子,以便其他人可以得到我的确切结果。

是否有一种内置方法可以为“sample_n”设置种子? 这是我在环境中做的事情,“sample_n”会响应吗?

这些不是“sample_n”函数内置的。

  • 有环境“set.seed”函数[1]
  • 有一个库 'withr' 为代码 [2] 创建了一个包含种子的包装器

.

【问题讨论】:

  • sample_n 没有什么特别之处。您必须遵循与其他示例相同的步骤以实现可重复性。set.seed(any_number);sample_n(mtcars, 1) 总是会给出相同的结果。你试过了吗?

标签: r dplyr random-seed reproducible-research


【解决方案1】:

dplyr::sample_ndocumentation 告诉我们:

这是对 sample.int() 的包装,可以轻松地从表中选择随机行。它目前仅适用于本地 tbls。

所以在sample_n后面,调用了sample.int,表示使用标准的随机数生成器,可以使用set.seed进行复现。

【讨论】:

  • 也许添加到set.seed(123) 需要在执行sample_n 之前每次调用的答案。
【解决方案2】:

这个例子有帮助吗?其中,我使用了set.seedmtcars 数据集。

set.seed(1)
x <- mtcars
sample_n(x, 10)

sample_n(x, 10) #without set.seed()

set.seed(1)
x <- mtcars
sample_n(x, 10)

【讨论】:

    猜你喜欢
    • 2019-09-04
    • 2015-06-14
    • 2021-05-15
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    相关资源
    最近更新 更多