Is there a way to generate a data set with normally distributed random values in R without using a loop? Each entry would represent an independent random variable with a normal distribution.
To create an N by M matrix of iid normal random variables type this:
matrix( rnorm(N*M,mean=0,sd=1), N, M) tweak the mean and standard deviation as desired.
let mu be a vector of means and sigma a vector of standard devs
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)
would produce a matrix with columns holding the relevant samples
You can use:
replicate(NumbOfColumns,rnorm(NumbOfLines))
You can replace rnorm with other distribution function, for example runif, to generate matrices with other distributions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With