empiricalC: The Continuous Empirical Distribution

empiricalCR Documentation

The Continuous Empirical Distribution

Description

Density, distribution function and random generation for a continuous empirical distribution.

Usage

dempiricalC(x, min, max, values, prob=NULL, log=FALSE)
pempiricalC(q, min, max, values, prob=NULL, lower.tail=TRUE, log.p=FALSE)
qempiricalC(p, min, max, values, prob=NULL, lower.tail=TRUE, log.p=FALSE)
rempiricalC(n, min, max, values, prob=NULL)

Arguments

x, q

Vector of quantiles.

p

Vector of probabilities.

n

Number of random values. If ‘⁠length(n) > 1⁠’, the length is taken to be the number required.

min

A finite minimal value.

max

A finite maximal value.

values

Vector of numerical values.

prob

Optional vector of count or probabilities.

log, log.p

logical; if ‘⁠TRUE⁠’, probabilities ‘⁠p⁠’ are given as ‘⁠log(p)⁠’.

lower.tail

logical; if ‘⁠TRUE⁠’ (default), probabilities are ‘⁠P[X <= x]⁠’, otherwise, ‘⁠P[X > x]⁠’.

Details

Given p_{i}, the distribution value for x_{i} with ‘⁠i⁠’ the rank i = 0, 1, 2, \ldots, N+1, x_{0}=min and x_{N+1}=max the density is:

f(x)=p_{i}+(\frac{x-x_{i}}{x_{i+1}-x_{i}})(p_{i+1}-p_{i})

The ‘⁠p⁠’ values being normalized to give the distribution a unit area.

⁠min⁠’ and/or ‘⁠max⁠’ and/or ‘⁠values⁠’ and/or ‘⁠prob⁠’ may vary: in that case, ‘⁠min⁠’ and/or ‘⁠max⁠’ should be vector(s). ‘⁠values⁠’ and/or ‘⁠prob⁠’ should be matrixes, the first row being used for the first element of ‘⁠x⁠’, ‘⁠q⁠’, ‘⁠p⁠’ or the first random value, the second row for the second element of ‘⁠x⁠’, ‘⁠q⁠’, ‘⁠p⁠’ or random value, ... Recycling is permitted if the number of elements of ‘⁠min⁠’ or ‘⁠max⁠’ or the number of rows of ‘⁠prob⁠’ and ‘⁠values⁠’ are equal or equals one.

Value

⁠dempiricalC⁠’ gives the density, ‘⁠pempiricalC⁠’ gives the distribution function, ‘⁠qempiricalC⁠’ gives the quantile function and ‘⁠rempiricalC⁠’ generates random deviates.

See Also

empiricalD

Examples

prob <- c(2, 3, 1, 6, 1)
values <- 1:5
par(mfrow=c(1, 2))
curve(dempiricalC(x, min=0, max=6, values, prob), from=-1, to=7, n=1001)
curve(pempiricalC(x, min=0, max=6, values, prob), from=-1, to=7, n=1001)

## Varying values
(values <- matrix(1:10, ncol=5))
## the first x apply to the first row 
## the second x to the second one
dempiricalC(c(1, 1), values, min=0, max=11)


##Use with mc2d 
val <- c(100, 150, 170, 200)
pr <- c(6, 12, 6, 6)
out <- c("min", "mean", "max")
##First Bootstrap in the uncertainty dimension
##with rempirical D
(x <- mcstoc(rempiricalD, type = "U", outm = out, nvariates = 30, values = val, prob = pr))
##Continuous Empirical distribution in the variability dimension
mcstoc(rempiricalC, type = "VU", values = x, min=90, max=210)




mc2d documentation built on July 26, 2023, 6:07 p.m.