22
Ich möchte Seeds in R nur lokal (innerhalb Funktionen), aber es scheint, dass R setzt Samen nicht nur lokal, sondern auch global. Hier ist ein einfaches Beispiel dafür, was ich versuche (nicht).Setze Seed lokal (nicht global) in R
myfunction <- function() {
set.seed(2)
}
# now, whenever I run the two commands below I'll get the same answer
myfunction()
runif(1)
Also, meine Fragen sind: Warum setzt R den Keim global und nicht nur in meiner Funktion? Und wie kann ich R setzen, um den Keim nur innerhalb meiner Funktion zu setzen?
Vielen Dank! Ich werde deine Antwort versuchen. Irgendeine Idee, warum R diese (zumindest für mich) unerwartete Nebenwirkung hat? –
ja: nach Design :-) –
+1 Beat mich dazu. @ManoelGaldino Zu "warum?" Ich denke nicht, dass dies unerwartet ist. Die Implementierung eines neuen, separaten Zufallsgenerators für jede Funktionsumgebung wäre furchtbar kompliziert, denke ich. Und möglicherweise einige Performance Overhead tragen. – joran