rquest
Overview
The rquest package provides convenient functionality for researchers
to carry out hypothesis tests and obtain confidence intervals for
measures based on quantiles. This includes for single quantiles (e.g.,
the median), linear combinations of quantiles (such as the interquartile
range), ratios of linear combinations commonly found in skewness and
kurtosis measures, and newly developed inequality measures. Another key
objective is to make it easy for users to define their own measures for
hypothesis testing and confidence intervals.
Following are the main functions in the package:
q.test()carry out hypothesis tests and obtain associated confidence intervals for linear combinations of quantiles, and ratios of such linear combinations.qineq()carry out hypothesis tests and obtain associated confidence intervals for quantile based inequality measuresqcov()compute a covariance matrix consisting of variances (on the diagonal) for quantile estimates and covariances (off-diagonal) between different quantile estimates
Installation
You can install the development version of rquest from
GitHub with:
# install.packages("pak")
pak::pak("shenal-dkumara/rquest")Usage
library(rquest)
## Functionality of q.test() ##
# Create some data
x <- c(8.43,7.08,8.79,8.88,7.87,5.94,8.79,5.46,8.11,7.08)
y <- c(13.44,13.65,14.77,9.51,14.07,10.92,11.59,13.42,8.93,10.88)
# One sample hypothesis test for the IQR
q.test(x, measure = "iqr")
#>
#> One sample test of the interquartile range (IQR)
#>
#> data: x
#> Z = 2.4436, p-value = 0.01454
#> alternative hypothesis: true IQR is not equal to 0
#> 95 percent confidence interval:
#> 0.3572545 3.2527455
#> sample estimates:
#> IQR
#> 1.805
# Two samples hypothesis test for robust coefficient variations (0.75*IQR/median) with log transformation and back-transformation to the ratio scale,.
q.test(x, y, measure = "rCViqr", log.transf = TRUE, back.transf = TRUE)
#>
#> Two sample test of the robust coefficient of variation
#> (0.75*IQR/median)
#>
#> data: x and y
#> Z = -0.059465, p-value = 0.9526
#> alternative hypothesis: true ratio of Robust CVs is not equal to 1
#> 95 percent confidence interval:
#> 0.3282838 2.8527321
#> sample estimates:
#> ratio of Robust CVs
#> 0.9677323
# The same two samples hypothesis test for robust coefficient variations (0.75*IQR/median) by using 'u',''u2','coef' and 'coef2' arguments.
u<-c(0.25,0.75)
coef<-0.75*c(-1,1)
u2<-0.5
coef2<-1
q.test(x,y,u=u,u2=u2,coef=coef,coef2=coef2,log.transf=TRUE,back.transf=TRUE)
#>
#> Two sample test of a ratio of two linear combinations of quantiles
#> (LCQs)
#>
#> data: x and y
#> Z = -0.059465, p-value = 0.9526
#> alternative hypothesis: true ratio of Ratio of LCQs is not equal to 1
#> 95 percent confidence interval:
#> 0.3282838 2.8527321
#> sample estimates:
#> ratio of Ratio of LCQs
#> 0.9677323
# The same two samples hypothesis test for robust coefficient variations (0.75*IQR/median) by using only 'u' and 'coef' arguments.
u<-c(0.25,0.5,0.75)
num <- 0.75*c(-1,0,1)
den <- c(0,1,0)
coef <- rbind(num, den)
q.test(x,y,u=u,coef=coef,log.transf=TRUE,back.transf=TRUE)
#>
#> Two sample test of a ratio of two linear combinations of quantiles
#> (LCQs)
#>
#> data: x and y
#> Z = -0.059465, p-value = 0.9526
#> alternative hypothesis: true ratio of Ratio of LCQs is not equal to 1
#> 95 percent confidence interval:
#> 0.3282838 2.8527321
#> sample estimates:
#> ratio of Ratio of LCQs
#> 0.9677323
## Functionality of qcov() ##
# Compute the variance-covariance matrix for sample quartiles.
qcov(x, c(0.25, 0.5, 0.75))
#> 0.25 0.5 0.75
#> 0.25 0.61381325 0.27565677 0.06757741
#> 0.5 0.27565677 0.37138326 0.09104481
#> 0.75 0.06757741 0.09104481 0.06695905
## Functionality of qineq() ##
# Two sample hypothesis test for the QRI measure
qineq(x,y)
#>
#> Two sample test of the QRI
#>
#> data: x and y
#> Z = -0.30205, p-value = 0.7626
#> alternative hypothesis: true difference in QRI is not equal to 0
#> 95 percent confidence interval:
#> -0.2024260 0.1483649
#> sample estimates:
#> difference in QRI
#> -0.02703056