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
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
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
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
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
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
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
7 matches
Mail list logo