[R] using "sample()" for a vector of length 1

Jonathan jonsleepy at gmail.com
Thu Jul 22 22:51:07 CEST 2010


I see.. Thanks!

On Thu, Jul 22, 2010 at 4:39 PM, Hadley Wickham <hadley at rice.edu> wrote:
> Did you look at the examples in sample?
>
> # sample()'s surprise -- example
> x <- 1:10
>    sample(x[x >  8]) # length 2
>    sample(x[x >  9]) # oops -- length 10!
>    sample(x[x > 10]) # length 0
>
> ## For R >= 2.11.0 only
> resample <- function(x, ...) x[sample.int(length(x), ...)]
> resample(x[x >  8]) # length 2
> resample(x[x >  9]) # length 1
> resample(x[x > 10]) # length 0
>
> Hadley
>
> On Thu, Jul 22, 2010 at 3:31 PM, Jon BR <jonsleepy at gmail.com> wrote:
>> Hi All,
>>    I'm trying to use the "sample" function within a loop where the
>> vector being sampled from (the first argument in the function) will
>> vary in length and composition.  When the vector is down in size to
>> containing only one element, I run into the "undesired behaviour"
>> acknowledged in the ?sample help file.  I don't want sample(10,1) to
>> return a number from within 1:10, but rather I'd just want it to
>> return 10 every time.
>>
>> Example):
>>
>>
>> Actual:
>>> sample(10,1)
>> [1] 2
>>> sample(10,1)
>> [1] 9
>>> sample(10,1)
>> [1] 4
>>
>>
>> Desired:
>>> sample(10,1)
>> [1] 10
>>> sample(10,1)
>> [1] 10
>>> sample(10,1)
>> [1] 10
>>
>>
>> Perhaps sample is not the appropriate function.  I dunno.  Any thoughts?
>>
>> Regards,
>> Jonathan
>>
>> ______________________________________________
>> R-help at r-project.org 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.
>>
>
>
>
> --
> Assistant Professor / Dobelman Family Junior Chair
> Department of Statistics / Rice University
> http://had.co.nz/
>



More information about the R-help mailing list