Hat jemand Erfahrung mit Situationen, in denen set.seed je nach Betriebssystem (OS) unterschiedliche Ergebnisse liefert. Ich erinnere mich an eine ähnliche Situation in einer Klasse auf R, bevor einige Leute verschiedene Zufallssequenzen mit Hilfe von rnorm erzeugten, obwohl sie den Anfangssamen auf denselben Wert setzten. Jetzt gebe ich selbst einen Kurs und bin nicht mit rnorm auf dasselbe Problem gestoßen; Alle meine Schüler erhalten unabhängig vom Betriebssystem die gleiche Sequenz. Interessanterweise scheint dasselbe Problem mit der mvrnorm-Funktion des MASS-Pakets zu existieren.Unterschiedliche Zufallszahlengenerierung zwischen OS
würde Einsicht sehr geschätzt - Marc
Dieses Beispiel:
require(MASS)
set.seed(123)
a <- rnorm(10, mean=10, sd=3)
b <- rnorm(10, mean=5, sd=2)
df <- data.frame(a,b)
C <- cov(df)
M <- mvrnorm(n=10, c(10,5), C)
df
C
M
Renditen auf meinem Windows 7 OS 64-Bit-Version von R 2.14.1 .:
> df
a b
1 8.318573 7.448164
2 9.309468 5.719628
3 14.676125 5.801543
4 10.211525 5.221365
5 10.387863 3.888318
6 15.145195 8.573826
7 11.382749 5.995701
8 6.204816 1.066766
9 7.939441 6.402712
10 8.663014 4.054417
> C
a b
a 8.187336 3.431373
b 3.431373 4.310385
> M
a b
[1,] 13.270535 6.158603
[2,] 10.375011 5.737871
[3,] 13.514105 5.476411
[4,] 12.681956 5.020646
[5,] 12.352333 4.927746
[6,] 15.177508 6.810387
[7,] 8.114377 2.925225
[8,] 9.529744 4.834451
[9,] 12.903550 7.232715
[10,] 6.251907 3.481789
Edit: Es könnte hilfreich sein zu wissen, ob jemand diese Ergebnisse nicht erhält und welches Betriebssystem oder welche Versionen von R verwendet wurden.
Haben Sie alle dieselbe Version von R und/oder denselben RNGKind verwendet? – Dason
@Dason - Nein, ich denke nicht. In einigen Fällen haben sie möglicherweise neuere Versionen von R als ich. Aber ich denke, sogar zwischen den Studenten bekamen sie unterschiedliche Ergebnisse und OS schien ein möglicher gemeinsamer Nenner. –
Nein ist es nicht. R erzeugt die RNGs selbst, und der einzige mögliche Unterschied ist vielleicht die Matrixzerlegung, die benötigt wird, wenn Sie 'mvrnorm' machen - und das kann an den LAPACK/BLAS-Bibliotheken liegen. Wenn Sie nur sequentielle Vektoren zeichnen, bin ich ziemlich sicher, dass Sie die gleichen Zahlen erhalten werden. R achtet auf diese Dinge. –