View source: R/UtilitiesDistributions.R
| RtoDPQ.LC | R Documentation | 
function to do get empirical density, cumulative distribution and quantile function from random numbers
RtoDPQ.LC(r, e = getdistrOption("RtoDPQ.e"), 
          n = getdistrOption("DefaultNrGridPoints"), y = NULL)
r | 
 the random number generator  | 
e | 
 
  | 
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@uni-oldenburg.de
UnivariateDistribution-class, 
density, 
approxfun, 
ecdf
set.seed(20230508)
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
## IGNORE_RDIFF_BEGIN
d.discrete(x)(4)
## IGNORE_RDIFF_END
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.