runif's min and max argument may be vectors: > x=c(0,0,0,0,0) > y=c(10,20,30,40,50) > runif(length(y), min=x, max=y) [1] 7.005180 14.035296 9.388089 22.094211 43.624606
This is equivalent to x + (y-x)*runif(length(y)) but such a transformation is not always so easy for nonuniform random number generators. All the standard rng's accept vectors of parameters. Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf Of Petr Savicky > Sent: Wednesday, February 15, 2012 1:12 AM > To: r-help@r-project.org > Subject: Re: [R] help in run if > > On Wed, Feb 15, 2012 at 12:31:54AM -0800, arunkumar1111 wrote: > > hi > > > > My data looks like > > > > x=c(0,0,0,0,0) > > y=c(10,20,30,40,50) > > > > i want to generate 5 random numbers between x and y keeping x values as > > min and y value as max using apply > > > > it takes time when it is run using for > > Hi. > > A solution without a loop is > > x + (y - x)*runif(length(x)) > > Hope this helps. > > Petr Savicky. > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.