Hi,

I find convenient to use a custom function for this:

sample.df <-
function (df, N = 1000, ...)
{
    df[sample(nrow(df), N, ...), ]
}


sample.df(daf1,1000)

Hope this helps,

baptiste


On 25 Aug 2008, at 12:31, Martin Hvidberg wrote:



I have a data frame (daf1), that holds +80000 records, and 10 variables (i.e. 10 columns and some 80000 rows)

length(daf1)
[1] 10
length(daf1[,1])
[1] 83805

I would like to sample() e.g. 10000 records from this. I use:

daf2 <- sample(daf1, 1000, replace = FALSE, prob = NULL)
Error in `[.data.frame`(x, .Internal(sample(length(x), size, replace, : cannot take a sample larger than the population when 'replace = FALSE'

As length(daf1) is 10, it thinks I'm taking 10000 samples from a size 10 population... Arghhh

How do I go about sampeling from a data frame?

:-( Martin

______________________________________________
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.

_____________________________

Baptiste AuguiƩ

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag

______________________________________________
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