Wie (und wann) man set.seed in r verwendet
Die Funktion set.seed() in R wird verwendet, um wiederholbare Ergebnisse zu erzeugen, wenn Code geschrieben wird, bei dem Variablen erstellt werden, die zufällige Werte annehmen.
Durch die Verwendung der Funktion set.seed() stellen Sie sicher, dass bei jeder Ausführung des Codes dieselben Zufallswerte erzeugt werden.
Diese Funktion verwendet die folgende grundlegende Syntax:
set.seed(seed)
Gold:
- Startwert : jede gewünschte Zahl.
Die folgenden Beispiele zeigen, wie Sie diese Funktion in der Praxis nutzen können.
Beispiel 1: Zufallswerte generieren, ohne set.seed() zu verwenden
Angenommen, wir verwenden die Funktion rnorm() , um einen Datenrahmen mit drei Variablen zu erstellen, die Zufallswerte annehmen, die einer Standardnormalverteilung folgen:
#create data frame
df <- data. frame (var1 = rnorm(10),
var2 = rnorm(10),
var3 = rnorm(10))
#view data frame
df
var1 var2 var3
1 0.13076685 -0.32183484 0.08083558
2 0.93926332 0.92271464 1.14695121
3 1.97227368 0.01140237 0.29325751
4 1.99656555 0.26735086 1.17131155
5 -1.07893403 -0.12748185 -0.75510058
6 -0.58955485 -0.29720114 0.57928670
7 1.39367811 -1.43043111 -0.39395086
8 -0.09977302 -1.93133994 -0.66654713
9 -0.71876371 2.27999183 0.45990405
10 0.90421007 2.28077581 0.57545709
Wenn wir versuchen, denselben Datenrahmen erneut mit rnorm() zu erstellen, gibt es keine Garantie dafür, dass die Werte gleich sind, da wir die Funktion set.seed() nicht verwendet haben:
#create data frame
df <- data. frame (var1 = rnorm(10),
var2 = rnorm(10),
var3 = rnorm(10))
#view data frame
df
var1 var2 var3
1 0.1841698 1.18134622 -0.9410759
2 -1.3535924 -0.73136515 -0.2802438
3 1.0323083 0.06530416 -1.3447057
4 -0.6540649 -0.45005680 1.1222456
5 0.5201189 -0.03688566 -0.6317776
6 0.6119033 -0.13083390 0.7034120
7 -0.1781823 0.56807218 0.2138826
8 -0.1325103 1.10700318 -0.6799447
9 -0.6185180 0.12327017 -0.2411492
10 -0.2699959 -0.04093012 0.5289240
Beachten Sie, dass die Werte für jede Spalte im Datenrahmen völlig unterschiedlich sind.
Beispiel 2: Zufallswerte mit set.seed() generieren
Der folgende Code zeigt, wie Sie die Funktion set.seed() verwenden, bevor Sie die Funktion rnorm() verwenden, um einen Datenrahmen mit drei Variablen zu erstellen, die Zufallswerte annehmen:
#make this example reproducible
set. seeds (7)
#create data frame
df <- data. frame (var1 = rnorm(10),
var2 = rnorm(10),
var3 = rnorm(10))
#view data frame
df
var1 var2 var3
1 2.2872472 0.356986230 0.8397504
2 -1.1967717 2.716751783 0.7053418
3 -0.6942925 2.281451926 1.3059647
4 -0.4122930 0.324020540 -1.3879962
5 -0.9706733 1.896067067 1.2729169
6 -0.9472799 0.467680511 0.1841928
7 0.7481393 -0.893800723 0.7522799
8 -0.1169552 -0.307328300 0.5917451
9 0.1526576 -0.004822422 -0.9830526
10 2.1899781 0.988164149 -0.2760640
Wenn wir set.seed() mit demselben Startwert wie zuvor verwenden und den Datenrahmen erneut erstellen, hat er garantiert dieselben Werte wie der vorherige Datenrahmen:
#make this example reproducible
set. seeds (7)
#create data frame
df2 <- data. frame (var1 = rnorm(10),
var2 = rnorm(10),
var3 = rnorm(10))
#view data frame
df2
var1 var2 var3
1 2.2872472 0.356986230 0.8397504
2 -1.1967717 2.716751783 0.7053418
3 -0.6942925 2.281451926 1.3059647
4 -0.4122930 0.324020540 -1.3879962
5 -0.9706733 1.896067067 1.2729169
6 -0.9472799 0.467680511 0.1841928
7 0.7481393 -0.893800723 0.7522799
8 -0.1169552 -0.307328300 0.5917451
9 0.1526576 -0.004822422 -0.9830526
10 2.1899781 0.988164149 -0.2760640
Beachten Sie, dass die Werte in diesem Datenrahmen mit denen im vorherigen Datenrahmen übereinstimmen.
Hinweis : In diesem Beispiel verwenden wir 7 als Startwert, Sie können jedoch jede beliebige Zahl wählen, z. B. 0, 54, 99, 100, 48787 usw.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere gängige Funktionen in R verwenden:
So verwenden Sie die Funktion dim() in R
So verwenden Sie die Funktion table() in R
So verwenden Sie die Funktion sign() in R