ForcedResponse {RRTCS} | R Documentation |
Forced-Response model
Description
Computes the randomized response estimation, its variance estimation and its confidence interval through the Forced-Response model. The function can also return the transformed variable. The Forced-Response model was proposed by Boruch in 1972.
Usage
ForcedResponse(z,p1,p2,pi,type=c("total","mean"),cl,N=NULL,pij=NULL)
Arguments
z |
vector of the observed variable; its length is equal to |
p1 |
proportion of cards marked "Yes" |
p2 |
proportion of cards marked "No" |
pi |
vector of the first-order inclusion probabilities |
type |
the estimator type: total or mean |
cl |
confidence level |
N |
size of the population. By default it is NULL |
pij |
matrix of the second-order inclusion probabilities. By default it is NULL |
Details
In the Forced-Response scheme, the sampled person i
is offered a box with cards: some are marked "Yes" with a proportion p_1
, some are marked "No" with a
proportion p_2
and the rest are marked "Genuine", in the remaining proportion p_3=1-p_1-p_2
, where 0<p_1,p_2<1,p_1\neq p_2,p_1+p_2<1
. The person is
requested to randomly draw one of them, to observe the mark on the card, and to respond
z_i=\left \{\begin{array}{lccc}
1 & \textrm{if the card is type "Yes"}\\
0 & \textrm{if the card is type "No"}\\
y_i & \textrm{if the card is type "Genuine"}
\end{array}
\right .
The transformed variable is r_i=\frac{z_i-p_1}{1-p_1-p_2}
and the estimated variance is \widehat{V}_R(r_i)=r_i(r_i-1)
.
Value
Point and confidence estimates of the sensitive characteristics using the Forced-Response model. The transformed variable is also reported, if required.
References
Boruch, R.F. (1972). Relations among statistical methods for assuring confidentiality of social research data. Social Science Research, 1, 403-414.
See Also
Examples
data(ForcedResponseData)
dat=with(ForcedResponseData,data.frame(z,Pi))
p1=0.2
p2=0.2
cl=0.95
ForcedResponse(dat$z,p1,p2,dat$Pi,"total",cl)
#Forced Response with strata
data(ForcedResponseDataSt)
dat=with(ForcedResponseDataSt,data.frame(ST,z,Pi))
p1=0.2
p2=0.2
cl=0.95
ForcedResponse(dat$z,p1,p2,dat$Pi,"total",cl)