Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generate a set of random unique integers from an interval

Tags:

r

I am trying to build some machine learning models,

so I need training data and a validation data

so suppose I have N number of examples, I want to select random x examples in a data frame.

For example, suppose I have 100 examples, and I need 10 random numbers, is there a way (to efficiently) generate 10 random INTEGER numbers for me to extract the training data out of my sample data?

I tried using a while loop, and slowly change the repeated numbers, but the running time is not very ideal, so I am looking for a more efficient way to do it.

Can anyone help, please?

like image 922
Low Yi Xiang Avatar asked Jul 21 '13 13:07

Low Yi Xiang


People also ask

How do you generate a random number in an interval?

Use the rand function to draw the values from a uniform distribution in the open interval, (50,100). a = 50; b = 100; r = (b-a). *rand(1000,1) + a; Verify the values in r are within the specified range.


1 Answers

sample (or sample.int) does this:

sample.int(100, 10) # [1] 58 83 54 68 53  4 71 11 75 90 

will generate ten random numbers from the range 1–100. You probably want replace = TRUE, which samples with replacing:

sample.int(20, 10, replace = TRUE) # [1] 10  2 11 13  9  9  3 13  3 17 

More generally, sample samples n observations from a vector of arbitrary values.

like image 159
Konrad Rudolph Avatar answered Oct 05 '22 19:10

Konrad Rudolph