Có ai có bất kỳ trải nghiệm nào với các tình huống trong đó set.seed cung cấp các kết quả khác nhau tùy thuộc vào hệ điều hành (OS) hay không. Tôi nhớ đã tình cờ gặp một tình huống tương tự trong một lớp học trên R trước khi một số người tạo ra các chuỗi ngẫu nhiên khác nhau bằng cách sử dụng rnorm mặc dù đã đặt hạt giống bắt đầu thành cùng một giá trị. Bây giờ, tôi tự đưa ra một khóa học và không gặp phải vấn đề tương tự với rnorm; tất cả các sinh viên của tôi nhận được cùng một chuỗi bất kể hệ điều hành. Thật thú vị, cùng một vấn đề dường như tồn tại với chức năng mvrnorm của gói MASS.Tạo số ngẫu nhiên khác nhau giữa OS
Bất kỳ cái nhìn sâu sắc sẽ được đánh giá rất nhiều - Marc
Ví dụ này:
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
Sản lượng trên Windows 7 hệ điều hành phiên bản 64-bit của tôi về 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
Chỉnh sửa: Nó có thể hữu ích để biết nếu có ai không nhận được những kết quả này và những gì hệ điều hành hoặc các phiên bản của R đã được sử dụng.
Bạn có đang sử dụng cùng phiên bản R và/hoặc cùng một RNGkind không? – Dason
@ Dason - Không, tôi không nghĩ vậy. Trong một số trường hợp, chúng có thể có phiên bản R mới hơn bản thân tôi. Nhưng tôi nghĩ, ngay cả giữa các sinh viên, họ đã nhận được kết quả khác nhau và hệ điều hành có vẻ giống như một mẫu số chung có thể. –
Không, không. R tạo ra các RNG chính nó, và sự khác biệt duy nhất có thể có thể phân hủy ma trận cần thiết nếu bạn làm 'mvrnorm' - và đó có thể là do các thư viện LAPACK/BLAS. Nếu bạn vẽ các vector liên tiếp, tôi chắc chắn bạn sẽ nhận được cùng một số. R chú ý đến những điều này. –