Hi Petr,

Thanks for your response.  I have data that looks like the following:

               sample 1         sample 2         sample 3  ....
red candy        400                 300               2500
green candy    100                    0                  200
black candy     300                1000                500

I don't want to randomly select either the samples (columns) or the "candy"
types (rows), which sample as you state would allow me.  Instead, I want to
randomly sample 100 candies from each sample and retain info on their
associated type.  I could make a list of all the candies in each sample:

sample 1
red
red
red
red
green
green
black
red
black
...

and then randomly sample those rows.  Repeat for each sample.  But, I am not
sure how to do that without alot of loops, and am wondering if there is an
easier way in R.  Thanks!  I should have laid this out in the first
email...sorry.


On 10/11/06, Petr Pikal <petr.pikal@precheza.cz> wrote:
>
> Hi
>
> I am not experienced in Matlab and from your explanation I do not
> understand what exactly do you want. It seems that you want randomly
> choose a sample of 100 rows from your martix, what can be achived by
> sample.
>
> DF<-data.frame(rnorm(100), 1:100, 101:200, 201:300)
> DF[sample(1:100, 10),]
>
> If you want to do this several times, you need to save your result
> and than it depends on what you want to do next. One suitable form is
> list of matrices the other is array and you can use for loop for
> completing it.
>
> HTH
> Petr
>
>
> On 10 Oct 2006 at 17:40, Brian Frappier wrote:
>
> Date sent:              Tue, 10 Oct 2006 17:40:47 -0400
> From:                   "Brian Frappier" <brian.frappier@gmail.com>
> To:                     r-help@stat.math.ethz.ch
> Subject:                [R] rarefy a matrix of counts
>
> > Hi all,
> >
> > I have a matrix of counts for objects (rows) by samples (columns).  I
> > aimed for about 500 counts in each sample (I have about 80 samples)
> > and would now like to rarefy these down to 100 counts in each sample
> > using simple random sampling without replacement.  I plan on rarefying
> > several times for each sample.  I could do the tedious looping task of
> > making a list of all objects (with its associated identifier) in each
> > sample and then use the wonderful "sampling" package to select a
> > sub-sample of 100 for each sample and thereby get a logical vector of
> > inclusions.  I would then regroup the resulting logical vector into a
> > vector of counts by object, rinse and repeat several times for each
> > sample.
> >
> > Alternately, using the same list, I could create a random index of
> > integers between 1 and the number of objects for a sample (without
> > repeats) and then select those objects from the list.  Again, rinse
> > and repeat several time for each sample.
> >
> > Is there a way to directly rarefy a matrix of counts without having to
> > create a list of objects first?  I am trying to switch to R from
> > Matlab and am trying to pick up good programming habits from the
> > start.
> >
> > Much appreciation!
> >
> >  [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> > http://www.R-project.org/posting-guide.html and provide commented,
> > minimal, self-contained, reproducible code.
>
> Petr Pikal
> petr.pikal@precheza.cz
>
>

	[[alternative HTML version deleted]]

