The respondent answers one of two questions chosen by a private randomiser, so no individual answer reveals anything – which is what makes people answer honestly. The rate is still identified because the noise mechanism is known. The estimator blows up as p nears one half, where the answer carries no information at all.
Examples
V <- c(1, 2, 3, 4, 5, 6, 7, 8)
Randres(V)
#> $estimate
#> [1] 10.5
#>
#> $se
#> [1] NaN
#>
#> $lambda
#> [1] 4.5
#>
#> $truth_rate
#> [1] NaN
#>
#> $n
#> [1] 8
#>
#> $method
#> [1] "Warner randomized response estimator"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
