2013-03-07 7 views
14

Stavo creando alcuni campioni casuali e li ho tracciati e ho notato uno strano comportamento. valori campionati erano diverse dopo il caricamento ggplot2:`sample()` fornisce valori diversi con lo stesso `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 

posso evitare questo comportamento abbastanza facilmente, ma v'è alcuna ragione per ggplot2 per modificare il valore del seme?

+0

Non si tratta di cambiare il valore seme: si tratta di ottenere un numero casuale (prima di te). –

+0

Nota che se avessi testato la ripetibilità di entrambi i risultati, sarebbe stato un forte suggerimento che 'ggplot2' stesse facendo qualcosa (ripetibile) con il seme casuale. Gli esperimenti sono sempre positivi :-) –

risposta

15

Penso di aver visto alcune discussioni su questo in una delle chat room di R: ggplot2 chiama il generatore di numeri casuali per decidere se/quale tip vuole offrire.

In particolare, questo è 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) 
} 

E 'una sorta di divertente che una delle punte generati in modo casuale ti dice come disattivare i suggerimenti ...

+0

Non ho mai provato ggplot2 a dare qualche consiglio all'avvio o al collegamento, ma questo ha senso se ha questa opzione. Grazie per il chiarimento. – N8TRO

+0

Beh, hai solo un suggerimento il 10% delle volte ... e solo nelle versioni recenti, penso. –

+4

Non dovrebbe suggerire almeno il 15%? –