2013-03-07 10 views
14

Ich habe einige Stichproben erstellt und zeichnete sie und bemerkte ein seltsames Verhalten. Abgetastete Werte unterschieden sich nach dem Laden ggplot2:`sample()` gibt verschiedene Werte mit der gleichen `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 

ich dieses Verhalten leicht genug vermeiden kann, aber gibt es keinen Grund für ggplot2 den Ausgangswert zu ändern?

+0

Es geht nicht um die Veränderung Startwert - es geht darum, eine Zufallszahl (vor dir) zu erhalten. –

+0

Beachten Sie, dass, wenn Sie die Wiederholbarkeit beider Ergebnisse getestet hätten, es ein starker Hinweis gewesen wäre, dass "ggplot2" etwas (wiederholbar) mit dem Zufallssamen gemacht hat. Experimente sind immer gut :-) –

Antwort

15

Ich glaube, ich habe eine Diskussion in einem der R-Chatrooms gesehen: ggplot2 ruft den Zufallszahlengenerator an, um zu entscheiden, ob/welcher Tipp er anbieten möchte.

Insbesondere ist dies 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) 
} 

Es ist irgendwie amüsant, dass eine der zufällig generierten Tipps erfahren Sie, wie sich die Tipps deaktivieren ...

+0

Ich habe ggplot2 nie irgendwelche Tipps beim Start oder bei attach, aber das macht Sinn, wenn es diese Option hat. Danke für die Klarstellung. – N8TRO

+0

Nun, Sie erhalten nur 10% der Zeit ein Trinkgeld ... und nur in den letzten Versionen, denke ich. –

+4

Sollte es nicht mindestens 15% Trinkgeld geben? –

Verwandte Themen