| invQ {Qest} | R Documentation | 
Inverse of Quantile Function
Description
Auxiliary function to compute cumulative distribution function (CDF) by inverting a quantile function.
Usage
invQ(Q, theta, y, data, n.it = 17)
Arguments
| Q | any parametric quantile function of the form  | 
| theta | a vector of model parameters. | 
| y | vector of observations to evaluate the CDF. | 
| data | data frame containing the variables used in the Q() function. | 
| n.it | the number of iterations (see “details”). | 
Details
Given a parametric quantile function Q(\tau | \theta), the CDF is defined as F(y | \theta) = Q^{-1}(y | \theta). Alternatively, F(y | \theta) corresponds to the value \tau* such that Q(\tau* | \theta) = y. Starting from \tau = 0.5, a bisection algorithm is used to evaluate numerically \tau*. The maximum error is given by 1/2^(n.it + 1).
Value
a vector of CDF values.
Author(s)
Maintainer: Gianluca Sottile <gianluca.sottile@unipa.it>
See Also
Examples
# Ex. 1 Normal model
# Quantile function of a linear model.
Qlinmod <- function(theta, tau, data){
  sigma <- exp(theta[1])
  beta <- theta[-1]
  X <- model.matrix( ~ x1 + x2, data = data)
  qnorm(tau, X %*% beta, sigma)
}
n <- 100
x1 <- rnorm(n)
x2 <- runif(n,0,3)
theta <- c(1,4,1,2)
# generate the data
U <- runif(n)
y <- Qlinmod(theta, U, data.frame(x1,x2))
# Given y and theta, evaluate U = F(y)
invQ(Qlinmod, theta, y, data.frame(x1,x2))