cvcqv provides some easy-to-use functions and classes to calculate
Coefficient of Variation (cv) and Coefficient of Quartile Variation
(cqv) with confidence intervals provided with all available methods.
There are abundant methods available for the calculation of confidence
intervals of a dispersion measure like coefficient of variation (cv)
or coefficient of quartile variation (cqv), which have not yet been
implemented in R. Also, cqv is quite useful in conditions where the
distribution of variables does not follow normal distribution.
cv is a measure of relative dispersion representing the degree of
variability relative to the mean (Albatineh et al, 2014). Since cv is
unitless, it is useful for comparison of variables with different units.
It is also a measure of homogeneity (Albatineh et al, 2014).
cqv is a measure of relative dispersion that is based on interquartile
range (IQR). Since cqv is unitless, it is also useful for comparison
of variables with different units. It is also a measure of homogeneity
(Bonett, 2006; Altunkaynak, 2018).
Since the measurements of cv and cqv are obtained from samples, we
cannot easily generalize them and decide based upon them. Confidence
Intervals (CI) help us to make a probabilistic interval around the
estimation of calculated cv and cqv. For example, 95% CI indicates
that it is 95% probable that the measurement for a population lies
between the lower and upper bounds of that CI.
If you are an ubuntu user, you are going to need these non-R packages:
sudo apt install libcurl4-openssl-dev libssl-dev libxml2-dev libgsl-dev
The cvcqv package is available on CRAN. To install:
install.packages("cvcqv")
The cvcqv package is also available on github. To install it in R,
use:
devtools::install_github('MaaniBeigy/cvcqv')
* Currently, these tools are available:
| name | is.R6.. | Description | |:-----------------|:--------|:----------------------------------------| | CoefVar | TRUE | Coefficient of Variation (cv) | | CoefQuartVar | TRUE | Coefficient of Quartile Variation (cqv) | | CoefVarCI | TRUE | Confidence Intervals for cv | | CoefQuartVarCI | TRUE | Confidence Intervals for cqv | | SampleQuantiles | TRUE | Sample Quantiles | | cv_versatile | FALSE | Coefficient of Variation | | cqv_versatile | FALSE | Coefficient of Quartile Variation | | BootCoefVar | TRUE | Bootstrap Resampling for cv | | BootCoefQuartVar | TRUE | Bootstrap Resampling for cqv |
* This package is inspired by dplyr, R6, SciView, boot, and
MBESS.
Here, we want to observe all available confidence intervals for
the cv of variable x:
x <- c(
0.2, 0.5, 1.1, 1.4, 1.8, 2.3, 2.5, 2.7, 3.5, 4.4,
4.6, 5.4, 5.4, 5.7, 5.8, 5.9, 6.0, 6.6, 7.1, 7.9
)
results <- CoefVarCI$new(x, digits = 3)$all_ci() # R6 class
# or alternatively:
results <- cv_versatile(x, digits = 3, method = "all") # functional programming
The results will be:
| | est | lower | upper | description | |:---|---:|---:|---:|:---| | kelley | 57.774 | 41.287 | 97.894 | cv with Kelley 95% CI | | mckay | 57.774 | 41.441 | 108.483 | cv with McKay 95% CI | | miller | 57.774 | 34.053 | 81.495 | cv with Miller 95% CI | | vangel | 57.774 | 41.264 | 105.426 | cv with Vangel 95% CI | | mahmoudvand_hassani | 57.774 | 43.476 | 82.857 | cv with Mahmoudvand-Hassani 95% CI | | equal_tailed | 57.774 | 43.937 | 84.383 | cv with Equal-Tailed 95% CI | | shortest_length | 57.774 | 42.015 | 81.013 | cv with Shortest-Length 95% CI | | normal_approximation | 57.774 | 44.533 | 85.272 | cv with Normal Approximation 95% CI | | norm | 57.774 | 38.799 | 78.937 | cv with Normal Approximation Bootstrap 95% CI | | basic | 57.774 | 35.055 | 78.167 | cv with Basic Bootstrap 95% CI | | perc | 57.774 | 38.879 | 79.174 | cv with Bootstrap Percentile 95% CI | | bca | 57.774 | 40.807 | 82.297 | cv with Adjusted Bootstrap Percentile (BCa) 95% CI | | aak_adj | 57.774 | 48.029 | 72.516 | cv with Abu-Shawiesh-Akyuz-Kibria ADJ 95% CI | | aak_ls | 57.774 | 46.310 | 72.075 | cv with Abu-Shawiesh-Akyuz-Kibria LS 95% CI | | aak_als | 57.774 | 45.839 | 75.092 | cv with Abu-Shawiesh-Akyuz-Kibria ALS 95% CI |
Next, we want to find all of the available confidence intervals
for the cqv of variable x:
results <- CoefQuartVarCI$new(x, digits = 3)$all_ci() # R6 class
# or alternatively:
results <- cqv_versatile(x, , digits = 3, method = "all") # functional programming
The results will be:
| | est | lower | upper | description | |:--------|-------:|-------:|-------:|:------------------------------------------------| | bonett | 45.625 | 24.785 | 77.329 | cqv with Bonett CI | | norm | 45.625 | 19.957 | 70.840 | cqv with normal approximation CI | | basic | 45.625 | 18.992 | 73.917 | cqv with basic bootstrap CI | | percent | 45.625 | 17.122 | 68.683 | cqv with bootstrap percentile CI | | bca | 45.625 | 24.273 | 83.264 | cqv with adjusted bootstrap percentile (BCa) CI |
Once installed, browse the package vignettes:
browseVignettes("cvcqv")
Albatineh, AN., Kibria, BM., Wilcox, ML., & Zogheib, B, 2014, Confidence interval estimation for the population coefficient of variation using ranked set sampling: A simulation study, Journal of Applied Statistics, 41(4), 733–751, DOI: https://doi.org/10.1080/02664763.2013.847405
Bonett, DG., 2006, Confidence interval for a coefficient of quartile variation, Computational Statistics & Data Analysis, 50(11), 2953-7, DOI: https://doi.org/10.1016/j.csda.2005.05.007
Altunkaynak, B., Gamgam, H., 2018, Bootstrap confidence intervals for the coefficient of quartile variation, Simulation and Computation, 1-9, DOI: https://doi.org/10.1080/03610918.2018.1435800
Abu-Shawiesh, M. O. A., Akyuz, H. E., & Kibria, B. M. G., 2019, Performance of Some Confidence Intervals for Estimating the Population Coefficient of Variation under both Symmetric and Skewed Distributions, Statistics, Optimization & Information Computing, 7(2), 277-290, DOI: https://doi.org/10.19139/soic.v7i2.630
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.