# turnbull: The Kaplan-Meier-Turnbull nonparametric approach to analyze... In DCchoice: Analyzing Dichotomous Choice Contingent Valuation Data

## Description

This function analyzes single-, one-and-one-half-, or double-bounded dichotomous choice contingent valuation (CV) data on the basis of the Kaplan-Meier-Turnbull method.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15``` ```## for the single-bounded data turnbull.sb(formula, data, subset, conf.int = FALSE, B = 200, conf.level = 0.95, timeMessage = FALSE, ...) ## for the one-and-one-half-bound data turnbull.oohb(formula, data, subset, conf.int = FALSE, B = 200, conf.level = 0.95, timeMessage = FALSE, ...) ## for the double-bounded data turnbull.db(formula, data, subset, conf.int = FALSE, B = 200, conf.level = 0.95, timeMessage = FALSE, ...) ## S3 method for class 'turnbull' print(x, digits = max(3, getOption("digits") - 1), ...) ```

## Arguments

 `formula` a formula specifying the model structure. `data` a data frame containing the variables in the model formula. `subset` an optional vector specifying a subset of observations. `x` an object of class `"turnbull"`. `conf.int` logical. If `TRUE`, the confidence intervals are computed. `B` number of bootstrap resampling for confidence interval estimation. Defaulted to 200. `conf.level` a confidence coefficient. Defaulted to 0.95. `timeMessage` logical. If `TRUE`, the estimated time for bootstrapping is displayed. `digits` a number of digits to display. `...` optional arguments. Currently not in use.

## Details

The functions `turnbull.sb()`, `turnbull.oohb()`, and `turnbull.db()` analyze single-, one-and-one-half-, and double-bounded dichotomous choice contingent valuation (CV) data, respectively, on the basis of the modified Kaplan-Meier-Turnbull method (Carson and Steinberg, 1990).

For single-bounded dichotomous choice data
Most of the details of `turnbull.sb()` is the same as those of `turnbull.db()`. See the subsequent section for details.

A difference between `turnbull.sb()` and `turnbull.db()` appears in the definition of the model formula. In `turnbull.sb()`, the first part contains only one response variable (e.g., `R1`) and the other part contains only one bid variable (e.g., `BD1`) because respondents are requested to answer a CV question in the single-bounded dichotomous choice CV. A typical structure of the formula is given by

`R1 ~ BD1`

`kristrom` is an alternative nonparametric method for analyzing single-bounded dichotomous choice data. A parametric analysis can be done by `sbchoice`.

For one-and-one-half-bound dichotomous choice data
The details of `turnbull.oohb()` is the same as those of `turnbull.db()`. See the the subsequent section for details.

A difference between `turnbull.oohb()` and `turnbull.db()` appears in the definition of variables. See `oohbchoice` and `oohbsyn` for the details of creating response and bid variables.

For double-bounded dichotomous choice data
A generic call to `turnbull.db()` is given by

`turnbull.db(formula, data)`

The argument `formula` defines the response variables and bid variables. The argument `data` is set as a data frame containing the variables in the model.

A typical structure of the formula for `turnbull.db()` is defined as follows:

`R1 + R2 ~ BD1 + BD2`

The formula consists of two parts. The first part, the left-hand side of the tilde sign (`~`), must contain the response variables for the suggested prices in the first and the second stage of CV questions. In the above example, `R1` denotes a binary or two-level factor response variable for a bid in the first stage and `R2` for a bid in the second stage. Each of `R1` and `R2` contains `"Yes"` or `"No"` to the bid or `1` for `"Yes"` and `0` for `"No"`. The two variables are connected with the arithmetic operator (`+`). The other part, which starts after the tilde sign, must contain bid variables (`BD1`, `BD2`) containing suggested prices in the first and second stage of double-bounded dichotomous choice CV question. The two variables are also connected with the arithmetic operator (`+`).

A parametric approach for analyzing double-bounded dichotomous choice data can be carried out by `dbchoice`.

The structure of data set which assigned to the argument `data` is the same as that of `dbchoice()`. See `dbchoice` for details in the data set structure.

The confidence intervals are computed by the bootstrap method in `icfit` of the interval (Fay and Shaw, 2010) package. The arguments `conf.int`, `B`, `conf.level` and `timeMessage` are passed to `icfit()`. The bootstrap can be time consuming, so that it is in general not advisable to increase the number of bootstrap resamplint `B`. See the help of `icfit` for futher detail.

The generic function `print()` is available for a fitted model object of class `"turnbull"` and displays simply estimated probabilities of the distribution: this is the same as the element `pf` in the function `icfit` of the interval (Fay and Shaw, 2010) package.

The extractor function `summary()` is also available for a fitted model object of class `"turnbull"` and the generic function `print.summary()` displays the survival probability and three types of WTP estimates (a Kaplan-Meier mean, a Spearman-Karber mean, and median WTPs). In estimating the two types of mean WTP, the area under the survivor function is truncated at the maximum bid because there seems no unified approach to determine an ending point of bids at which the acceptance probability is zero. Therefore, we leave the decision of how the area is treated to the user. In practice, once the ending point, \$bid_end\$, is found, it is straightforward to compute the triangular area by \$0.5(bid_end - bid_max)P_max\$ where \$bid_max\$ is the maximum bid and \$P_max\$ is the acceptance probability for \$bid_max\$, both of which are reported in the summarized output.

Furthermore, the generic function `plot()` is available for a fitted model object of class `"turnbull"` and displays the empirical survival function. See `plot.turnbull` for details.

## Value

Both `turnbull.db()` and `turnbull.sb()` return an object of S3 class `"turnbull"` that is a list with the following components.

 `left` a vector of left endpoints of censored interval. The vector is internally assigned to the argument `L` in `icfit()` of the interval package. `right` a vector of right endpoints of censored interval. The vector is internally assigned to the argument `R` in `icfit()` of the interval package. `turnbull` a list of components returned from `icfit()`. `unq.dib` a vector of unique bids including Inf. `CI` estimates for confidence intervals from `icfit()`.

## References

Croissant Y (2011). Ecdat: Data Sets for Econometrics, R package version 0.1-6.1, http://CRAN.R-project.org/package=Ecdat.

Fay MP, Shaw PA (2010). “Exact and Asymptotic Weighted Logrank Tests for Interval Censored Data: The interval R Package”, Journal of Statistical Software, 36(2), 1-34. http://www.jstatsoft.org/v36/i02/.

Krinsky I, Robb AL (1986). “On Approximating the Statistical Properties of Elasticities.” The Review of Economics and Statistics, 68, 715–719.

Krinsky I, Robb AL (1990). “On Approximating the Statistical Properties of Elasticities: A Correction.” The Review of Economics and Statistics, 72, 189–190.

Turnbull BW (1976). “The Empirical Distribution Function with Arbitrarily Grouped, Censored and Truncated Data.” Journal of the Royal Statistical Society. Series B, 38(3), 290–295.

## See Also

`summary.turnbull`, `plot.turnbull`, `kristrom`, `sbchoice`, `dbchoice`, `NaturalPark`, `glm`, `icfit`

## 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 33 34 35 36 37 38 39 40 41 42 43 44``` ```## Examples are based on turnbull.db(). turnbull.sb() is similarly ## implemented. A difference appears in the definition of the model ## formula. See "Details" section of the help. ## A data set used here is NaturalPark in the package Ecdat (Croissant, ## 2011): double-bounded dichotomous choice CV style question for ## measuring willingness to pay for the preservation of the Alentejo ## Natural Park. The data frame contains seven variables: bid1 (bid in ## the initial question), bidh (higher bid in the follow-up question), ## bidl (lower bid in the follow-up question), answers (response ## outcomes in a factor format with four levels of "nn", "ny", "yn", "yy"), ## respondents' characteristic variables such as age, sex and income (see ## NaturalPark for details). data(NaturalPark, package = "Ecdat") ## The variable answers are converted into a format that is suitable for ## the function turnbull.db() as follows: NaturalPark\$R1 <- ifelse(substr(NaturalPark\$answers, 1, 1) == "y", 1, 0) NaturalPark\$R2 <- ifelse(substr(NaturalPark\$answers, 2, 2) == "y", 1, 0) ## The variables bidh and bidl are integrated into one variable (bid2) ## as follows: NaturalPark\$bid2 <- ifelse(NaturalPark\$R1 == 1, NaturalPark\$bidh, NaturalPark\$bidl) ## The formula for turnbull.sb and turnbull.db are defined respectively as follows: fmts <- R1 ~ bid1 fmtd <- R1 + R2 ~ bid1 + bid2 ## The function turnbull.db() with the formula fmtd and the data frame ## NaturalPark is executed as follows: NPts <- turnbull.sb(fmts, data = NaturalPark) NPts NPtss <- summary(NPts) NPtss plot(NPts) ## The function turnbull.db() with the formula fmtd and the data frame ## NaturalPark is executed as follows: NPtd <- turnbull.db(fmtd, data = NaturalPark) NPtd NPtds <- summary(NPtd) NPtds plot(NPtd) ```

### Example output

```Loading required package: MASS
Loading required package: interval
Loading required package: survival
Loading required package: perm
Loading required package: Icens
Loading required package: MLEcens
Loading required package: Formula

Probability: 0.342105 0.099453 0.046246 0.044663 0.467532
Survival probability:
Upper   Prob.
1      0  1.0000
2      6  0.6579
3     12  0.5584
4     24  0.5122
5     48  0.4675
6    Inf  0.0000

WTP estimates:
Mean: 24.665138  (Kaplan-Meier)
Mean: 26.803244  (Spearman-Karber)
Median in: [      24 ,      48 ]

Probability: 0.301687 0.039350 0.063226 0.179070 0.191176 0.206699 0.018791
Survival probability:
Upper    Prob.
1      0  1.00000
2      3  0.69831
3      6  0.65896
4     12  0.59574
5     18  0.41667
6     24  0.41667
7     48  0.22549
8    120  0.01879
9    Inf  0.00000

WTP estimates:
Mean: 19.410952  (Kaplan-Meier)
Mean: 30.384690  (Spearman-Karber)
Median in: [      12 ,      18 ]
```

DCchoice documentation built on May 29, 2017, 11:26 a.m.