The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Coverage status Travis build status Ropensci status

outcomerate

outcomerate is a lightweight R package that implements the standard outcome rates for surveys, as defined in the Standard Definitions of the American Association of Public Opinion Research (AAPOR).

Although the mathematical formulas are straightforward, it can get tedious and repetitive calculating all the rates by hand, especially for sub-groups of your study. The formulas are similar to one another and so it is also dangerously easy to make a clerical mistake. The outcomerate package simplifies the analytically workflow by defining all formulas as a collection of functions.

Installation

The latest development version is available via github:

install.packages("devtools")
devtools::install_github("ropensci/outcomerate")

Example

Let’s say you try to survey 12 people. After finishing the fieldwork, you tabulate all your attempts into a table of disposition outcomes:

code disposition n
I Complete interview 4
P Partial interview 2
R Refusal and break-off 1
NC Non-contact 1
O Other 1
UH Unknown if household 1
NE Known ineligible 1
UO Unknown, other 1

Using this table, you may wish to report some of the common survey outcome rates, such as:

Most of these rates come under a number of variants, having definitions that are standardized by AAPOR. The outcomerate function lets your calculate these rates seamlessly:

# load package
library(outcomerate)

# set counts per disposition code (needs to be a named vector)
freq <- c(I = 4, P = 2, R = 1, NC = 1, O = 1, UH = 1, UO = 1, NE = 1)

# calculate rates, assuming 90% of unknown cases are elligble
outcomerate(freq, e = eligibility_rate(freq))
#>   RR1   RR2   RR3   RR4   RR5   RR6 COOP1 COOP2 COOP3 COOP4  REF1  REF2 
#> 0.364 0.545 0.370 0.556 0.444 0.667 0.500 0.750 0.571 0.857 0.091 0.093 
#>  REF3  CON1  CON2  CON3  LOC1  LOC2 
#> 0.111 0.727 0.741 0.889 0.818 0.833

Dispositions do not always come in a tabulated format. Survey analysts often work with microdata directly, where each row represents an interview. The outcomerate package allows you to obtain rates using such a format as well:

# define a vector of dispositions
x <- c("I", "P", "I", "UO", "R", "I", "NC", "I", "O", "P", "UH")

# calculate desired rates
outcomerate(x, rate = c("RR2", "CON1"))
#>  RR2 CON1 
#> 0.55 0.73

# obtain a weighted rate
w <- c(rep(1.3, 6), rep(2.5, 5))
outcomerate(x, weight = w, rate = c("RR2", "CON1"))
#>  RR2w CON1w 
#>  0.50  0.69

ropensci_footer

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.