Cesar, your indexing is wrong: On Mon, Mar 7, 2011 at 2:17 PM, Cesar Hincapié <cesar.hinca...@utoronto.ca> wrote: > Hello: > > I wonder if I could get a little help with random sampling in R. > > I have a vector of length 7375. I would like to draw 3 distinct random > samples, each of length 100 without replacement. I have tried the following: > > d1 <- 1:7375 > > set.seed(7) > i <- sample(d1, 100, replace=F) > s1 <- sort(d1[i]) > s1
d1 is a continuous vector of integers, 1 thru 7375 and of length 7375 > d2 <- d1[-i] but you've taken out 100 of those numbers, so d2 is now of length 7275 and has gaps in the sequence. > set.seed(77) > j <- sample(d2, 100, replace=F) > s2 <- sort(d2[j]) > s2 j is a sample *of the values* and those values are no longer the indices of the vector d2 You need instead j <- sample(1:length(d2), 100, replace=FALSE) s2 <- sort(d2[j]) Some of the value in j no longer exist in d2 as indices. 7375 could be selected, but since d2 only has 7275 elements d2[7375] doesn't return anything (actually NA). Same for your third sample, only the indices are even less like the elements of the vector because you've removed another random set of values. Sarah -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.