2017-12-27 6 views
1

Dies ist wahrscheinlich eine sehr grundlegende Frage, aber wie lässt man eine Variable ihren Wert in R wie folgt ändern?Wie lässt eine Variable ihren Wert in R ändern? (`Beispiel` Befehl)

var <- sample(c(-2, -1, 0, 1, 2), size = 1) gibt immer wieder die gleiche Nummer. Was könnte ich tun, um dies zu verhindern?

+0

Sie pseudozufällig 1 Element aus einem Vektor von 5 Elementen mit Ihrem Befehl. Dann speichern Sie es in ein Objekt namens 'var', wenn Sie die zufällige Probe replizieren, erhalten Sie wahrscheinlich einen anderen Wert, aber Sie können es nur verwenden, wenn Sie in einem anderen Objekt speichern. Auf jeden Fall ist Ihre Frage ein wenig verwirrend. Ich verstehe nicht genau, welches dein Ziel ist. –

+2

Dein Befehl funktioniert für mich und erzeugt verschiedene Zahlen für Mehrfachzuweisungen von 'var'. Vielleicht haben Sie Ihren 'Seed' für jeden Anruf auf den gleichen Wert festgelegt? –

Antwort

2

Wenn Sie dies tun, set.seed(NULL) und führen Sie Ihren Code erneut aus, erhalten Sie jedes Mal einen anderen Wert. Wenn Sie jedoch etwas wie set.seed(1729), set.seed(42) usw. tun, erhalten Sie dieselbe Nummer erneut.

In meinem System läuft set.seed(NULL) Ergebnisse unter:

> set.seed(NULL) 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] -2 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 1 

Wenn ich set.seed(1729) und starten Sie den Code versuchen, werde ich erhalten:

> set.seed(1729) 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 0 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 0 

Die Keimzahl, die wir wählen, ist die Ausgangspunkt bei der Erzeugung einer Folge von Zufallszahlen, weshalb wir bei gleicher Keimzahl die gleichen Ergebnisse erhalten.

Hinweis aus der Dokumentation?set.seed:

Zunächst gibt es keinen Samen; eine neue wird aus der aktuellen Zeit und der Prozess-ID erstellt, wenn eine benötigt wird. Daher geben verschiedene Sitzungen standardmäßig unterschiedliche Simulationsergebnisse an. Der Ausgangswert wird jedoch möglicherweise von einer vorherigen Sitzung wiederhergestellt, wenn ein zuvor gespeicherter Arbeitsbereich wiederhergestellt wurde.

Verwandte Themen