# Using randsample to randomize rows

2 views (last 30 days)
Joel Schelander on 30 Mar 2021
Edited: David Hill on 30 Mar 2021
I have 36 households. I want to study combinations of households. PR represents how many households that are combined. To make other calculations
feasible, I sample the data using randsample. However, when I increase PR to 9 or more, the number of combinations become to great for me to sample like this. Can I integrate the sampling with nchoosek somehow, or is there another way?
nHousehold =36;9 or
PR=7 ; %Number of Households that are to be selected
Hcombos=nchoosek(1:nHousehold,PR); %Number of combinations
y = randsample(length(Hcombos(:,1)),2);
Hcombosnew=[];
for b=1:2
Hcombosnew=[Hcombosnew; Hcombos(y(b),:)];
end
David Hill on 30 Mar 2021
Do you have to test all combinations or just a random sampling of the combinations?
Joel Schelander on 30 Mar 2021
Just a random sampling, since there will be too many combinations

David Hill on 30 Mar 2021
Edited: David Hill on 30 Mar 2021
You could run a loop however many times you want to generate the sampling and then make sure they are all different.
y=zeros(1e5,9);
for k=1:1e5
y(k,:)=randperm(36,9);
end
y=unique(sort(y,2),'rows');

### Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

R2019a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!