# RRuni: Univariate analysis of randomized response data In danheck/RRreg: Correlation and Regression Analyses for Randomized Response Data

## Description

Analyse a data vector `response` with a specified RR model (e.g., `Warner`) with known randomization probability `p`

## Usage

 `1` ```RRuni(response, data, model, p, group = NULL, MLest = TRUE, Kukrep = 1) ```

## Arguments

 `response` either vector of responses containing 0='no' and 1='yes' or name of response variable in `data`.For the Forced Response (`FR`) model, response values are integers from 0 to (m-1), where 'm' is the number of response categories. In Kuk's card playing method (`Kuk`), the observed response variable gives the number of red cards. `data` optional `data.frame` containing the response variable `model` defines RR model. Available models: `"Warner"`, `"UQTknown"`, `"UQTunknown"`, `"Mangat"`, `"FR"`, `"Kuk"`,`"Crosswise"`, `"Triangular"`, `"CDM"`, `"CDMsym"`, `"SLD"`, `"mix.norm"`, `"mix.exp"`,`"mix.unknown"`, or `"custom"`. See argument `p` or type `vignette('RRreg')` for detailed specifications. `p` randomization probability (see details or `vignette("RRreg")`) `group` a group vector of the same length as `response` containing values 1 or 2, only required for two-group models, which specify different randomization probabilities for two groups, e.g., `CDM` or `SLD`. If a data.frame `data` is provided, the variable `group` is searched within it. `MLest` whether to use `optim` to get ML instead of moment estimates (only relevant if pi is outside of [0,1]) `Kukrep` number of repetitions of Kuk's card-drawing method

## Details

Each RR design `model` differs in the definition of the randomization probability `p`, which is defined as a single probability for

• `"Warner"`: Probabiltiy to get sensitive Question

• `"Mangat"`: Prob. for noncarriers to respond truthfully (i.e., with No=0)

• `"Crosswise"`: Probability to respond 'yes' to irrelevant second question (coding of responses: 1=['no-no' or 'yes-yes']; 0=['yes-no' or 'no-yes'])

• `"Triangular"`: Probability to respond 'yes' to irrelevant second question (coding of responses: 0='no' to both questions (='circle'); 1='yes' to at least one question ('triangle'))

and as a two-valued vector of probabilities for

• `"Kuk"`: Probability of red cards in first and second set, respectively (red=1, black=0);

• Unrelated Question (`"UQTknown"`): Prob. to respond to sensitive question and known prevalence of 'yes' responses to unrelated question

• Unrelated Question (`"UQTunknown"`): Prob. to respond to sensitive question in group 1 and 2, respectively

• Cheating Detection (`"CDM"`): Prob. to be prompted to say yes in group 1 and 2, respectively

• Symmetric CDM (`"CDMsym"`): 4-valued vector: Prob. to be prompted to say 'yes'/'no' in group 1 and 'yes'/'no' in group 2

• Stochastic Lie Detector (`"SLD"`): Prob. for noncarriers to reply with 0='no' in group 1 and 2, respectively

• Forced Response model (`"FR"`): m-valued vector (m=number of response categories) with the probabilities of being prompted to select response categories 0,1,..,m-1, respectively (requires `sum(p)<1`)

• RR as misclassification (`"custom"`): a quadratic misclassification matrix is specified, where the entry `p[i,j]` defines the probability of responding i (i-th row) given a true state of j (j-th column)) (see `getPW`)

For the continuous RR models:

• `"mix.norm"`: 3-valued vector - Prob. to respond to sensitive question and mean and SD of the masking normal distribution of the unrelated question

• `"mix.exp"`: 2-valued vector - Prob. to respond to sensitive question and mean of the masking exponential distribution of the unrelated question

• `"mix.unknown"`: 2-valued vector - Prob. of responding to sensitive question in group 1 and 2, respectively

## Value

an `RRuni` object, can by analyzed by using `summary`

`vignette('RRreg')` or https://www.dwheck.de/separate_content/RRregManual/index.html for a detailed description of the RR models and the appropriate definition of `p`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14``` ```# Generate responses of 1000 people according to Warner's model # with an underlying true proportion of .3 genData <- RRgen(n=1000, pi=.3, model="Warner", p=.7) # Analyse univariate data to estimate 'pi' analyse <- RRuni(response=genData\$response, model="Warner", p=.7) summary(analyse) # Generate data in line with the Stochastic Lie Detector # assuming that 90% of the respondents answer truthfully genData2 <- RRgen(n=1000, pi=.3, model="SLD", p=c(.2,.8), complyRates=c(.8,1),groupRatio=0.4) analyse2 <- RRuni(response=genData2\$response, model="SLD", p=c(.2,.8), group=genData2\$group) summary(analyse2) ```