Description Usage Arguments Details Value Note Author(s) See Also Examples
View source: R/UtilitiesDistributions.R
function to do get empirical density, cumulative distribution and quantile function from random numbers
1 2  RtoDPQ.LC(r, e = getdistrOption("RtoDPQ.e"),
n = getdistrOption("DefaultNrGridPoints"), y = NULL)

r 
the random number generator 
e 
10^e numbers are generated, a higher number leads to a better result. 
n 
The number of grid points used to create the approximated functions, a higher number leads to a better result. 
y 
a (numeric) vector or 
RtoDPQ.LC generates 10^e random numbers, by default
e = RtoDPQ.e
.
Replicates are assumed to be part of the discrete part, unique values to be
part of the a.c. part of the distribution. For the replicated ones,
we generate a discrete distribution by a call to DiscreteDistribution
.
For the a.c. part, similarly to RtoDPQ
we have an optional parameter y
for using N. Horbenko's quantile trick: i.e.; on an equally spaced grid x.grid
on [0,1], apply
f(q(x)(x.grid))
, write the result to y
and use these
values instead of simulated ones.
The a.c. density is formed on the basis of n points using approxfun and density (applied to the unique values), by default
n = DefaultNrGridPoints
.
The cumulative distribution function is based on all random variables,
and, as well as the quantile function, is also created on the basis of n points using
approxfun
and ecdf
. Of course, the results are usually not exact as they rely on random numbers.
RtoDPQ.LC
returns an object of class UnivarLebDecDistribution
.
Use RtoDPQ
for absolutely continuous and RtoDPQ.d
for discrete distributions.
Peter Ruckdeschel peter.ruckdeschel@unioldenburg.de
UnivariateDistributionclass
,
density
,
approxfun
,
ecdf
1 2 3 4 5 6 7 8  rn2 < function(n)ifelse(rbinom(n,1,0.3),rnorm(n)^2,rbinom(n,4,.3))
x < RtoDPQ.LC(r = rn2, e = 4, n = 512)
plot(x)
# returns density, cumulative distribution and quantile function of
# squared standard normal distribution
d.discrete(x)(4)
x2 < RtoDPQ.LC(r = rn2, e = 5, n = 1024) # for a better result
plot(x2)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.