To add to the nice explanation by Marc, you can access the source directly from the web at https://svn.r-project.org/R/trunk/src/main/random.c
If you prefer to look directly in the source tarball, notice the file is called random.c Francisco Dr. Francisco J. Zagmutt College of Veterinary Medicine and Biomedical Sciences Colorado State University >From: Marc Schwartz <[EMAIL PROTECTED]> >Reply-To: [EMAIL PROTECTED] >To: tom soyer <[EMAIL PROTECTED]> >CC: r-help <r-help@stat.math.ethz.ch> >Subject: Re: [R] Question about random sampling in R >Date: Thu, 19 Oct 2006 13:10:20 -0500 > >On Thu, 2006-10-19 at 12:07 -0500, tom soyer wrote: > > Hi, > > > > I looked up the help file on sample(), but didn't find the info I was > > looking for. > > > > When sample() is used to resample from a distribution, e.g., bootstrap, >how > > does it do it? Does it use an uniform distribution, e.g., runif(), or > > something else? And, when the help file says:"sample(x) generates a >random > > permutation of the elements of x (or 1:x)", would I be correct if I > > translate the statement as follows: it means that the order of > > sequence, which was generated from a uniform distribution, would look >like a > > random normal distribution. > > > > Thanks, > > > > Tom > >In the simplest case, where you have not specified a set of probability >weights, sample() uses a uniform distribution, such that each element >has an equal probability of being selected. > >In the case of sampling WITHOUT replacement (the default), each element >in the vector has an equal probability of being selected. Once selected, >that element is removed from the sampling space and the process is >repeated with the remaining elements until all elements have been >selected. > >So: > > > sample(10) > [1] 3 8 5 9 7 1 4 2 10 6 > >yields a random permutation of 1:10. > >In the case of 'replace = TRUE', which is sampling WITH replacement, >after an element is selected it is retained in the sampling space, thus >can be selected multiple times. > >So: > > > sample(10, replace = TRUE) > [1] 1 4 1 8 7 8 6 7 5 9 > > >If you specify a set of probability weights from the sampling vector, >then the probability for each element in being selected is affected >accordingly. > >In the case of bootstrapping, sampling WITH replacement is used. You >might find the following post helpful in this scenario: > > http://finzi.psych.upenn.edu/R/Rhelp02a/archive/67421.html > > >If you want to investigate further, you can review the C source code for >the relevant R functions in random.c in the R source tarball. The file >will be in ../src/main. > >HTH, > >Marc Schwartz > >______________________________________________ >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. ______________________________________________ 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.