繁体   English   中英

`sample()`使用相同的`set.seed()`给出不同的值

[英]`sample()` gives different values with same `set.seed()`

我正在创建一些随机样本并绘制它们并注意到一种奇怪的行为。 加载ggplot2后,采样值不同:

set.seed(111)
library(ggplot2)
sample(1:10, 10)
# [1]  8  4  5  3  7  1  6  2 10  9

set.seed(111)
sample(1:10, 10)
#  [1]  6  7  3  4  8 10  1  2  9  5

我可以很容易地避免这种行为,但是ggplot2有没有理由改变种子值?

我想我在其中一个R聊天室看到了对此的一些讨论: ggplot2调用随机数生成器以决定是否/想要提供哪个提示。

特别是,这是ggplot2:::.onAttach

function (...) 
{
    if (!interactive() || stats::runif(1) > 0.1) 
        return()
    tips <- c("Need help? Try the ggplot2 mailing list: http://groups.google.com/group/ggplot2.", 
        paste("Find out what's changed in ggplot2 with\n", "news(Version == \"", 
            utils::packageVersion("ggplot2"), "\", package = \"ggplot2\")", 
            sep = ""), "Use suppressPackageStartupMessages to eliminate package startup messages.")
    tip <- sample(tips, 1)
    packageStartupMessage(tip)
}

有趣的是,随机生成的提示之一告诉您如何关闭提示......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM