[R] Select

David L Carlson dc@r|@on @end|ng |rom t@mu@edu
Mon Feb 11 23:51:56 CET 2019

First expand your data frame into a vector where G1 is repeated 25 times, G2 is repeated 15 times, etc. Then draw random samples of 40 from that vector:

> grp <- rep(mydat$group, mydat$count)
> grp.sam <- sample(grp, 40)
> table(grp.sam)
G1 G2 G3 G4 G5 
10  9  5 13  3

David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77843-4352

-----Original Message-----
From: R-help <r-help-bounces using r-project.org> On Behalf Of Val
Sent: Monday, February 11, 2019 4:36 PM
To: r-help using R-project.org (r-help using r-project.org) <r-help using r-project.org>
Subject: [R] Select

Hi all,

I have a data frame  with tow variables  group and its size.
mydat<- read.table( text='group  count
G1 25
G2 15
G3 12
G4 31
G5 10' , header = TRUE, as.is = TRUE )

I want to select   group ID randomly (without replacement)  until  the
sum of count reaches 40.
So, in  the first case, the data frame could be
   G4 31
   65 10

In other case, it could be
  G5 10
  G2 15
  G3 12

How do I put sum of count variable   is  a minimum of 40 restriction?

Than k you in advance

I want to select group  ids randomly until I reach the

R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list