Hi: The deal with replicate() is that its second argument is a *function*; more specifically, a function *call*. That's why Henrique's solution worked and your attempt didn't. Inside replicate(), if the function has arguments, they need to be supplied. This works:
testdat <- function(df, n) df[sample(nrow(df), n, replace = TRUE), ] # function definition replicate(3, testdat(growth, 12), simplify = FALSE) ^^^^^^^^^^^^^^^^^^^ function call The argument simplify = FALSE means that replicate will not try to simplify the output from the function. I called your growth data fd, so > replicate(3, testdat(fd, 12), simplify = FALSE) [[1]] Age Length 7 4 399 8 1 120 6 5 453 1 2 200 2 5 450 5 8 798 9 2 202 2.1 5 450 7.1 4 399 6.1 5 453 7.2 4 399 6.2 5 453 [[2]] Age Length 9 2 202 5 8 798 6 5 453 9.1 2 202 9.2 2 202 5.1 8 798 3 6 600 1 2 200 8 1 120 2 5 450 5.2 8 798 9.3 2 202 [[3]] Age Length 3 6 600 3.1 6 600 9 2 202 7 4 399 5 8 798 1 2 200 4 7 702 6 5 453 5.1 8 798 5.2 8 798 2 5 450 9.1 2 202 The function is defined a little more generally so that you can control the sample size. HTH, Dennis On Wed, Sep 29, 2010 at 11:19 AM, Michael Larkin <mlar...@rsmas.miami.edu>wrote: > I am trying to get R to resample my dataset of two columns of age and > length > data for fish. I got it to work, but it is not resampling every replicate. > Instead, it resamples my data once and then repeated it 5 times. > > Here is my dataset of 9 fish samples with an age and length for each one: > Age Length > 2 200 > 5 450 > 6 600 > 7 702 > 8 798 > 5 453 > 4 399 > 1 120 > 2 202 > > > Here is my code which resamples my data to produce up to 9 different > samples > and creates a new dataset of 12 samples: > > testdat<-growth[sample(9,12,replace=T),] > > > Now I want R to repeat this procedure 5 times. Here is my code: > > > testdat2 <- replicate(5, sample(testdat), simplify=F) > testdat2 > > Here is my output showing that it did it once and then just repeated the > values: > > > > testdat2 > [[1]] > Age Length > 1 2 200 > 9 2 202 > 8 1 120 > 5 8 798 > 4 7 702 > 6 5 453 > 1.1 2 200 > 4.1 7 702 > 4.2 7 702 > 5.1 8 798 > 4.3 7 702 > 6.1 5 453 > > [[2]] > Age Length > 1 2 200 > 9 2 202 > 8 1 120 > 5 8 798 > 4 7 702 > 6 5 453 > 1.1 2 200 > 4.1 7 702 > 4.2 7 702 > 5.1 8 798 > 4.3 7 702 > 6.1 5 453 > > [[3]] > Age Length > 1 2 200 > 9 2 202 > 8 1 120 > 5 8 798 > 4 7 702 > 6 5 453 > 1.1 2 200 > 4.1 7 702 > 4.2 7 702 > 5.1 8 798 > 4.3 7 702 > 6.1 5 453 > > [[4]] > Length Age > 1 200 2 > 9 202 2 > 8 120 1 > 5 798 8 > 4 702 7 > 6 453 5 > 1.1 200 2 > 4.1 702 7 > 4.2 702 7 > 5.1 798 8 > 4.3 702 7 > 6.1 453 5 > > [[5]] > Length Age > 1 200 2 > 9 202 2 > 8 120 1 > 5 798 8 > 4 702 7 > 6 453 5 > 1.1 200 2 > 4.1 702 7 > 4.2 702 7 > 5.1 798 8 > 4.3 702 7 > 6.1 453 5 > > > Any advice on how to get R to resample each time would be greatly > appreciated? > > Mike > > ______________________________________________ > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.