Fit Empirical Distribution
fit_empirical(x)
integer or double vector
if integer vector then list of family functions for d, p, q, r, and parameters based on each integer value. if it is a double vector then list of family functions for d, p, q, r, and parameters based on Freedman-Diaconis rule for optimal number of histogram bins.
set.seed(562)
x <- rpois(100, 5)
empDis <- fit_empirical(x)
# probability density function
plot(empDis$dempDis(0:10),
xlab = 'x',
ylab = 'dempDis')
# cumulative distribution function
plot(x = 0:10,
y = empDis$pempDis(0:10),
#type = 'l',
xlab = 'x',
ylab = 'pempDis')
# quantile function
plot(x = seq(.1, 1, .1),
y = empDis$qempDis(seq(.1, 1, .1)),
type = 'p',
xlab = 'x',
ylab = 'qempDis')
# random sample from fitted distribution
summary(empDis$r(100))
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 1.00 3.00 5.00 4.71 7.00 10.00
empDis$parameters
#> 0 1 2 3 4 5 6 7 8 9 10
#> 0.01 0.08 0.14 0.09 0.08 0.24 0.07 0.11 0.07 0.09 0.02
set.seed(562)
x <- rexp(100, 1/5)
empCont <- fit_empirical(x)
# probability density function
plot(x = 0:10,
y = empCont$dempCont(0:10),
xlab = 'x',
ylab = 'dempCont')
# cumulative distribution function
plot(x = 0:10,
y = empCont$pempCont(0:10),
#type = 'l',
xlab = 'x',
ylab = 'pempCont')
# quantile function
plot(x = seq(.5, 1, .1),
y = empCont$qempCont(seq(.5, 1, .1)),
type = 'p',
xlab = 'x',
ylab = 'qempCont')
# random sample from fitted distribution
summary(empCont$r(100))
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 1.394 1.394 4.205 4.871 4.205 32.200
empCont$parameters
#> (-0.0217,2.81] (2.81,5.6] (5.6,8.4] (8.4,11.2] (11.2,14]
#> 0.42 0.27 0.12 0.05 0.06
#> (14,16.8] (16.8,19.6] (19.6,22.4] (22.4,25.2] (25.2,28]
#> 0.01 0.04 0.01 0.01 0.00
#> (28,30.8] (30.8,33.6]
#> 0.00 0.01