14

我正在创建一些随机样本并绘制它们并注意到一个奇怪的行为。加载 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 有什么理由改变种子值吗?

4

1 回答 1

15

我想我在其中一个 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)
}

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

于 2013-03-07T01:49:34.393 回答