# tobitUC: The Tobit Distribution In VGAM: Vector Generalized Linear and Additive Models

## Description

Density, distribution function, quantile function and random generation for the Tobit model.

## Usage

 ```1 2 3 4 5 6``` ```dtobit(x, mean = 0, sd = 1, Lower = 0, Upper = Inf, log = FALSE) ptobit(q, mean = 0, sd = 1, Lower = 0, Upper = Inf, lower.tail = TRUE, log.p = FALSE) qtobit(p, mean = 0, sd = 1, Lower = 0, Upper = Inf, lower.tail = TRUE, log.p = FALSE) rtobit(n, mean = 0, sd = 1, Lower = 0, Upper = Inf) ```

## Arguments

 `x, q` vector of quantiles. `p` vector of probabilities. `n` number of observations. If `length(n) > 1` then the length is taken to be the number required. `Lower, Upper` vector of lower and upper thresholds. `mean, sd, lower.tail, log, log.p` see `rnorm`.

## Details

See `tobit`, the VGAM family function for estimating the parameters, for details. Note that the density at `Lower` and `Upper` is the the area to the left and right of those points. Thus there are two spikes (but less in value); see the example below. Consequently, `dtobit(Lower) + dtobit(Upper) + ` the area in between equals unity.

## Value

`dtobit` gives the density, `ptobit` gives the distribution function, `qtobit` gives the quantile function, and `rtobit` generates random deviates.

T. W. Yee

## See Also

`tobit`, `rnorm`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32``` ```mu <- 0.5; x <- seq(-2, 4, by = 0.01) Lower <- -1; Upper <- 2.0 integrate(dtobit, lower = Lower, upper = Upper, mean = mu, Lower = Lower, Upper = Upper)\$value + dtobit(Lower, mean = mu, Lower = Lower, Upper = Upper) + dtobit(Upper, mean = mu, Lower = Lower, Upper = Upper) # Adds to unity ## Not run: plot(x, ptobit(x, m = mu, Lower = Lower, Upper = Upper), type = "l", ylim = 0:1, las = 1, col = "orange", ylab = paste("ptobit(m = ", mu, ", sd = 1, Lower =", Lower, ", Upper =", Upper, ")"), main = "Orange is cumulative distribution function; blue is density", sub = "Purple lines are the 10,20,...,90 percentiles") abline(h = 0) lines(x, dtobit(x, m = mu, Lower = Lower, Upper = Upper), col = "blue") probs <- seq(0.1, 0.9, by = 0.1) Q <- qtobit(probs, m = mu, Lower = Lower, Upper = Upper) lines(Q, ptobit(Q, m = mu, Lower = Lower, Upper = Upper), col = "purple", lty = "dashed", type = "h") lines(Q, dtobit(Q, m = mu, Lower = Lower, Upper = Upper), col = "darkgreen", lty = "dashed", type = "h") abline(h = probs, col = "purple", lty = "dashed") max(abs(ptobit(Q, m = mu, Lower = Lower, Upper = Upper) - probs)) # Should be 0 endpts <- c(Lower, Upper) # Endpoints have a spike (not quite, actually) lines(endpts, dtobit(endpts, m = mu, Lower = Lower, Upper = Upper), col = "blue", lwd = 3, type = "h") ## End(Not run) ```

### Example output

```Loading required package: stats4
Loading required package: splines
[1] 1
[1] 1.110223e-16
```

VGAM documentation built on Feb. 9, 2018, 6:13 a.m.