OS

2012-07-19 10 views
6

arasındaki farklı rasgele sayı üretimi İşletim sistemi (OS) 'ye bağlı olarak set.seed öğesinin farklı sonuçlar verdiği durumlar ile ilgili herhangi bir deneyimi var mı? Başlangıçtaki tohumun aynı değere ayarlanmasına rağmen, bazı insanların rnorm kullanarak farklı rasgele dizilimler oluşturduğu R'de bir sınıfta benzer bir durumla karşılaştığımı hatırlıyorum. Şimdi, kendime bir kurs veriyorum ve rnorm ile aynı konuya girmedim; tüm öğrencilerim işletim sisteminden bağımsız olarak aynı diziyi alırlar. İlginç bir şekilde, aynı sorun MASS paketinin mvrnorm fonksiyonu ile var gibi görünüyor.OS

Herhangi bir fikir büyük takdir - Marc

Bu örnek: 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 

benim Windows 7 işletim sistemi 64-bit sürümünde

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 

Verim Düzenleme: Bu sonuçları almayan birinin olup olmadığını ve R'nin hangi işletim sistemi veya sürümünün kullanıldığını bilmek yardımcı olabilir.

+0

Hepiniz aynı R ve/veya aynı RNGkind sürümünü mi kullanıyorsunuz? – Dason

+0

@Dason - Hayır, sanmıyorum. Bazı durumlarda, R'nin kendisinden daha yeni sürümleri olabilir. Ama bence, öğrenciler arasında bile farklı sonuçlar alıyorlardı ve OS olası bir ortak payda gibi görünüyordu. –

+1

Hayır değil. R, RNG'lerin kendisini üretir ve mümkün olan tek fark, belki de 'mvrnorm' yaparsanız gereken matris ayrışmasıdır - ve bu LAPACK/BLAS kütüphanelerinden kaynaklanabilir. Sadece sıralı vektörler çizerseniz, aynı sayıları alacağınızdan oldukça eminim. R bu şeylere önem veriyor. –

cevap

0

Kullanıcıları RNGKind'i değiştirerek, bazen jeneratörü değiştiren bir paketi veya değişikliği yapan başka bir betiği yükleyip çalıştırarak fark etmeden duydum. Durum buysa, aynı tohum farklı rasgele sayılara yol açacaktır. Taze bir R koşusu (farklı paketler veya başka betikler yüklemeden) aynı tohumdan aynı rastgele sayıları üretmelidir.

+3

Ayrıca, muhtemelen bir ".Random.seed" önceden kaydedilmiş bir çalışma alanından yalan söylediği durumda, R ortamını açtıktan sonra rm (list = ls (all.names = TRUE)) işlevini çalıştırabilirsiniz. –