Skip to content

help in run if

4 messages · arunkumar1111, Petr Savicky, jim holtman +1 more

#
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

-----
Thanks in Advance
        Arun
--
View this message in context: http://r.789695.n4.nabble.com/help-in-run-if-tp4389785p4389785.html
Sent from the R help mailing list archive at Nabble.com.
#
On Wed, Feb 15, 2012 at 12:31:54AM -0800, arunkumar1111 wrote:
Hi.

A solution without a loop is 

  x + (y - x)*runif(length(x))

Hope this helps.

Petr Savicky.
#
try this:
[1]  3.6958437  0.1190025 23.1382387 35.8738653 28.6983410
On Wed, Feb 15, 2012 at 3:31 AM, arunkumar1111 <akpbond007 at gmail.com> wrote:

  
    
#
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