On 11-09-06 8:13 PM, Jack Siegrist wrote:
I want to sample within groups, and when a group has only one associated
number to just return that number.

If I use this code:

groups<- c(1, 2, 2, 2, 3)
numbers<- 1:5
tapply(numbers, groups, FUN = sample)

I get the following output:

  groups<- c(1, 2, 2, 2, 3)
  numbers<- 1:5
  tapply(numbers, groups, FUN = sample)
$`1`
[1] 1

$`2`
[1] 3 2 4

$`3`
[1] 2 3 5 1 4

Can someone tell me why the $'3' result samples all of the numbers and how
to prevent it from doing so? I want the output for the $'3' part to just be
5 in this example.

Because sample(5) gives a permutation of the numbers 1:5. See the last example in ?sample for a way to avoid this "feature".

Duncan Murdoch


Thanks for your help.


sessionInfo()
R version 2.11.1 (2010-05-31)
i386-pc-mingw32

--
View this message in context: 
http://r.789695.n4.nabble.com/sample-within-groups-slight-problem-tp3794912p3794912.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@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.

______________________________________________
R-help@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.

Reply via email to