2012-07-24 41 views
16

Có cách nào để tạo tập dữ liệu với các giá trị ngẫu nhiên được phân phối bình thường trong R mà không sử dụng vòng lặp không? Mỗi mục sẽ đại diện cho một biến ngẫu nhiên độc lập với phân phối bình thường.Tạo ma trận với các biến ngẫu nhiên bình thường iid bằng cách sử dụng R

+6

'ma trận (rnorm (n * p), n)' cho ma trận $ n \ lần p $ với iid $ \ mathcal N (0,1) $ mục nhập. – cardinal

Trả lời

21

Để tạo một N bởi M ma trận của iid bình thường ngẫu nhiên các biến loại này:

matrix(rnorm(N*M,mean=0,sd=1), N, M) 

chỉnh giá trị trung bình và tiêu chuẩn d độ lệch như mong muốn.

+0

Miễn là người hỏi hiểu rằng N là số hàng và M số cột, thì anh ta sẽ được phục vụ tốt bởi câu trả lời này –

+0

@DWin, đồng ý. Đó là ký pháp thông thường khi đề cập đến ma trận trong bất kỳ ngữ cảnh nào, đúng không? – Macro

+0

Tôi không thực sự chắc chắn. Tôi biết rằng đôi khi mọi người tỏ ra ngạc nhiên khi thực tế rằng các ma trận của R được lấp đầy theo thứ tự cột lớn với các lệnh gọi tới 'ma trận' trừ khi byrow = TRUE. Ihat làm cho tôi nghĩ rằng có thể có sự thay đổi trong các công ước ma trận trên các ngôn ngữ khác nhau. –

2

let mu là một vector của phương tiện và sigma một vector của các nhà phát triển tiêu chuẩn

mu<-1:10 
sigma<-10:1 
sample.size<-100 
norm.mat<-mapply(function(x,y){rnorm(x,y,n=sample.size)},x=mu,y=sigma) 

sẽ tạo ra một ma trận với các cột giữ mẫu có liên quan

+0

Cảm ơn, điều đó hoạt động. Giải pháp @ Cardinal đơn giản hơn rất nhiều. –

-2

Lưu ý: mỗi mục là độc lập. Vì vậy, bạn không thể tránh sử dụng cho vòng lặp, bởi vì bạn phải gọi rnorm một lần cho mỗi biến độc lập. Nếu bạn chỉ cần gọi rnorm (n * m) đó là các mẫu n * m từ cùng một biến ngẫu nhiên!

+0

điều này là sai, và gây nhầm lẫn ... 'rnorm (n * m)' * không * tạo các mẫu ngẫu nhiên 'n * m' ** độc lập, chính xác như yêu cầu OP. –

1

Bạn có thể sử dụng:

replicate(NumbOfColumns,rnorm(NumbOfLines)) 

Bạn có thể thay rnorm với chức năng phân phối khác, ví dụ runif, để tạo ra các ma trận với các bản phân phối khác.

Các vấn đề liên quan