[R] Drawing from an empirical distribution

2009-01-06 Thread culpritNr1
Hi All, Does anybody know if there is a simple way to draw numbers from an empirical distribution? I know that I can plot the empirical cumulative distribution function this easy: plot(ecdf(x)) Now I want to pick a number between 0 and 1 and go back to domain of x. Sounds simple to me. Any

Re: [R] Drawing from an empirical distribution

2009-01-06 Thread Antonio, Fabio Di Narzo
If the ecdf is 'ecdf(x)', do just: sample(x, size=whatever, replace=TRUE) HTH, Antonio. 2009/1/6 culpritNr1 ig2ar-s...@yahoo.co.uk: Hi All, Does anybody know if there is a simple way to draw numbers from an empirical distribution? I know that I can plot the empirical cumulative

Re: [R] Drawing from an empirical distribution

2009-01-06 Thread Albyn Jones
the empirical distribution gives probability 1/n to each of n observations. rather than sampling the unit interval, just resample the dataset. If x is your dataset, and you want an independent sample of size k, sample(x,size=k,replace=TRUE) albyn On Tue, Jan 06, 2009 at 02:39:17PM

Re: [R] Drawing from an empirical distribution

2009-01-06 Thread culpritNr1
Thank you. That's exactly what I was looking for. Antonio, Fabio Di Narzo wrote: If the ecdf is 'ecdf(x)', do just: sample(x, size=whatever, replace=TRUE) HTH, Antonio. 2009/1/6 culpritNr1 ig2ar-s...@yahoo.co.uk: Hi All, Does anybody know if there is a simple way to draw numbers

Re: [R] Drawing from an empirical distribution

2009-01-06 Thread roger koenker
Sure, but it would be more 'fun' to modify ecdf() slightly to produce an ecqf() function -- essentially reversing the arguments to approxfun()-- and then use ecqf(runif(whatever)) no nit-picking about efficiency, please. url:www.econ.uiuc.edu/~rogerRoger Koenker

Re: [R] Drawing from an empirical distribution

2009-01-06 Thread roger koenker
Nit-picking about syntax does seem needed, mea culpa, I intended something more like: Qn - ecqf(x) Qn(runif(whatever)) On Jan 6, 2009, at 5:06 PM, roger koenker wrote: Sure, but it would be more 'fun' to modify ecdf() slightly to produce an ecqf() function -- essentially

Re: [R] Drawing from an empirical distribution

2009-01-06 Thread Matthias Kohl
one could also use package distr; e.g., library(distr) x - 1:10 D - DiscreteDistribution(x) ## = r, d, p and q functions (also with log-argument) r(D)(5) p(D)(4) d(D)(1) q(D)(0.3) Best, Matthias roger koenker wrote: Sure, but it would be more 'fun' to modify ecdf() slightly to produce an