How to select a random sample without replacement with imposed condition?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Christian
am 24 Okt. 2015
Kommentiert: Christian
am 24 Okt. 2015
Hi,
I'd like to draw a random sample from my population. My population is a vector x of size (N x 1). My sample should satisfy
sum(x(sample)) = 0.7*sum(x);
So I do not care how many observations I draw from the sample, but I just want to make sure that the resulting sample covers 70 percent of total x in terms of value, not in terms of number.
Thanks, Christian
2 Kommentare
Walter Roberson
am 24 Okt. 2015
Is that exactly 0.7 ? If so then it might not be possible to satisfy the condition.
Akzeptierte Antwort
Walter Roberson
am 24 Okt. 2015
rp = randperm(N);
loc = find( cumsum(x(rp)) >= 0.7 * sum(x), 1, 'first');
samps = x(rp(1:loc));
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!