2013-03-07 58 views
14

我正在創建一些隨機樣本並繪製它們,並注意到一個奇怪的行爲。採樣值分別爲加載後GGPLOT2不同:`sample()`給出了不同的值和相同的`set.seed()`

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改變的種子值?

+0

這是不是改變種子價值 - 這是關於獲得一個隨機數(在你之前)。 – 2013-03-07 02:15:29

+0

請注意,如果您測試了兩個結果的可重複性,那麼使用隨機種子'ggplot2'正在做某件事(可重複)會是一個強烈的暗示。實驗總是很好:-) – 2013-03-07 02:44:22

回答

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) 
} 

這有點可笑的是隨機生成的祕訣之一告訴你如何關閉提示...

+0

我從來沒有體驗過ggplot2在啓動時或附加時給出任何提示,但如果它有這個選項,這是有道理的。感謝您的澄清。 – N8TRO 2013-03-07 01:57:04

+0

那麼,你只能得到10%的提示......而且只有在最近的版本中,我想。 – 2013-03-07 02:02:55

+4

不應該提示至少15%? – 2013-03-07 02:09:51

相關問題